You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular与Spring Boot项目中实现PDF在新标签页打开而非下载

Angular 8 + Spring Boot 实现PDF新标签页直接打开(替代下载触发)

要实现PDF在浏览器新标签页直接预览而非触发下载,需要同时修改前端交互逻辑和后端响应头配置,以下是可直接运行的实现方案:

前端Angular代码修改

原有代码使用<a>标签的download属性,会强制触发文件下载,替换为直接打开Blob生成的临时URL即可:

this.service.FileDownload(event.fileId, headers).subscribe(response => {
  let dataType = response.type;
  let binaryData = [];
  binaryData.push(response);

  const fileURL = URL.createObjectURL(new Blob(binaryData, { type: dataType }));
  window.open(fileURL, '_blank');
})

注意:原有请求接口定义FileDownload无需修改,保持responseType: 'blob'配置即可

后端Spring Boot配置修改

需要在接口的响应头中设置Content-Disposition为inline,告知浏览器直接预览文件而非下载:

response.setHeader("Content-Disposition", String.format("inline; filename=\"%s\"", fileName));

额外注意:需确保接口返回的Content-Type正确为application/pdf,否则浏览器可能无法识别文件类型触发下载


内容的提问来源于stack exchange,提问作者zdnmn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:36:05