我正在使用Angular 4和Spring Boot,并尝试在新标签中打开数据库中的图像。但是问题是它可以在Firefox中运行,但不能在Chrome中运行。这是我的代码:
后端:
@GetMapping("/anexos/view/{id}")
@Timed
public void viewAnexo(HttpServletResponse response, @PathVariable("id") Long id) throws IOException {
log.debug("REST request to view anexo: {}", id);
AnexoDTO anexoDTO = anexoService.findOne(id);
if (anexoDTO != null) {
ResponseEntity<InputStreamResource> responseEntity = preparAnexo(anexoDTO);
response.addHeader(CONTENT_DISPOSITION, "inline; filename=" + anexoDTO.getTxNomeArquivo());
writeAnexoBytes(responseEntity, response);
response.flushBuffer();
}
}
前端:
viewAnexo(id: number, name: string){
const element = document.createElement('a');
const url = this.viewUrl+'/'+id;
element.setAttribute('href', url);
element.setAttribute('target', '_blank');
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
当我尝试在Firefox中查看图像时,所有显示均正确。但是在Chrome中,新标签如下:
我的问题在哪里?