相关文章推荐
傲视众生的领带  ·  SQL ...·  4 月前    · 
热心肠的匕首  ·  CVPR ...·  1 年前    · 

「踩坑小笔记」

普通pdf的url地址可以直接通过打开新的窗口进行预览(window.open,a标签等),但现在需要携带token等参数,只能通过接口获取流文件, 这里采用了URL.createObjectUR通过blob对象创建了一个新的URL

    const getUrl = (res) => { // res: 接口返回的blob对象
        const binaryData = [];
        binaryData.push(res);
        const url = URL.createObjectURL( 
          new Blob(binaryData, { type: "application/pdf" })
         // 成功获得了一个可以直接在新窗口打开的url: blob:http://localhost:8080/5bd23492fd7-4d42-a174-cf59ca6ae31c
        window.open(url);

1、用这种方式创建出来的url无法手动指定有意义的文件名(目前没找到合适的方式指定文件名)

2、当不再需要createObjectURL创建的URL 对象时,记得调用 URL.revokeObjectURL() 方法来释放。

3、 vue3目前无法直接使用vue-pdf(没有仔细了解,有看到需要修改源码才能使用)

  • 私信