前端预览pdf文件(后端返回pdf文件流)

前端预览pdf文件(后端返回pdf文件流)

怎么判断后端是不是返回的文件流?

我的后端给的接口直接在浏览器输入完整地址会自动下载pdf文件,这样就是返回的pdf文件流,亲试比较方便的有iframe和直接window.open临时地址.

window.open临时地址.
复制代码
 fetch(
          `${this.$config.VUE_APP_BASE_API}/api/ai/knowledge/api/preview?fileId=${data.fileId}`,//你的pdf文件下载路径
          {
            headers: {
              Authorization: getToken(),
            },
            method: "GET",
            responseType: "arraybuffer",//一定是这个 前面一直填的"blob"一直不成功,改成这个就好了
          }
        )
          .then((res) => res.blob())
          .then((res) => {
            const binaryData = [];
            binaryData.push(res);
            //获取blob链接
            this.pdfSrc = window.URL.createObjectURL(
              new Blob(binaryData, { type: "application/pdf" })
            );
            window.open(this.pdfSrc); //此地址也可直接填入iframe的src中以达到预览的目的
          });
iframe
复制代码
<iframe style="width: 800px; height: 500px" :src="pdfSrc"></iframe>
    </div>
相关推荐
YHL几秒前
向量数据库入门(二):Embedding → 语义搜索 → RAG 日记助手
前端·架构
码视野1 分钟前
基于 Vue3 + Element Plus 的【青少年心理健康智能测评与 AI 情绪树洞陪护干预系统】设计与实现(含PRD/三端源码/大屏)
前端·vue.js·人工智能·vue3
专业抄代码选手2 分钟前
03|React 为什么需要协调:比较两棵树,而不是重建页面
前端·javascript·react.js
灯澜忆梦5 分钟前
【基于GO的Web开发11】gin获取URL‑Path 路径参数
前端·后端·golang·html·gin
王霸天5 分钟前
GLB 文件太大怎么办?我把它从 47MB 压到 8MB,全程没碰命令行
前端·javascript·程序员
半个落月5 分钟前
Next.js 16 笔记应用实战:Redis 数据链路与组件两版拆分详解
前端·redis·next.js
YIAN6 分钟前
告别等后端!React+Vite 前端独立开发全流程:接口封装 + Mock 方案 + 状态管理
前端·react.js·vite
PedroQue9911 分钟前
@meng-xi/vite-plugin v1.3.0:generateUni 一键流水线
前端·vite
胡萝卜术11 分钟前
权限系统的四道防线:从数据库事务锁到操作级保护规则的完整设计
前端·javascript·面试
IMPYLH11 分钟前
HTML 的 <legend> 元素
java·前端·html