js下载pdf文件并预览(base64),但文件太大无法正常显示

复制代码
base64转blob
javascript 复制代码
    dataURLtoBlob(dataurl ) {
      let arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n)
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n)
      }
      return new Blob([u8arr], { type: mime })
    },

下载文件并凭借文件地址:

javascript 复制代码
 const link = 'data:application/pdf;base64,' + pdf文件(base64)
 let blob = this.dataURLtoBlob(link)
 this.fileUrl = window.URL.createObjectURL(blob)

用iframe预览文件:

javascript 复制代码
      <iframe
          :src="fileUrl"
          v-loading="loading"
          frameborder="0"
          style="width: 100%"
          height="620px"/>
相关推荐
不买Huracan不改名11 分钟前
安装Codex(需要用npm)
前端·npm·node.js
Dorcas_FE19 分钟前
axios请求缓存与重复拦截:“相同请求未完成时,不发起新请求”
前端·spring·缓存
dreams_dream27 分钟前
vue中axios与fetch比较
前端·javascript·vue.js
梦鱼1 小时前
Vue 项目图标一把梭:Iconify 自用小记(含 TS/JS 双版本组件)
前端·javascript·vue.js
best6661 小时前
Flex 与 Grid 的 order 参数:布局界的 "插队神器"
前端
小噔小咚什么东东1 小时前
看到了很多次WebRTC,但是你真的需要它吗?
前端·webrtc
猫七先生1 小时前
微信小程序一键登录可行性方案
前端·微信小程序
维他AD钙1 小时前
前端开发 8 个非常实用小技巧:高效解决日常开发痛点
前端
光影少年1 小时前
webpack和vite优化方案都有哪些
前端·webpack·node.js