js实现pdf、excel文件无预览直接下载

javascript 复制代码
          // pdf、xlsx或其他文件无预览下载
          const url = '你的文件url链接'
          let fileName = url.substring(url.lastIndexOf('/') + 1)
          console.log("fileName--",fileName)
          let isPdf = url.endsWith('.pdf')
          const request = new XMLHttpRequest();
          request.responseType = 'blob';
          request.open('GET', res.data.url);
          request.onload = function () {
            const link = document.createElement('a');
            document.body.appendChild(link);
            this.response.arrayBuffer().then(buf => {
              const blob = new Blob([buf]);
              const url = URL.createObjectURL(blob);
              link.style.display = 'none';
              link.target = '_blank';
              link.download = fileName;
              link.href = url;
              link.click();
              document.body.removeChild(link);
              window.URL.revokeObjectURL(url);
            });
          };
          request.send();
相关推荐
Jenlybein39 分钟前
快速了解熟悉 Vite ,即刻上手使用
前端·javascript·vite
Ailrid1 小时前
@virid/core:用游戏引擎的思维来写应用-高度确定性的应用开发引擎
javascript
SuperEugene3 小时前
Vue3 组件复用设计:Props / 插槽 / 组合式函数,三种复用方式选型|组件化设计基础篇
前端·javascript·vue.js
nFBD29OFC3 小时前
利用Vue元素指令自动合并tailwind类名
前端·javascript·vue.js
zk_one5 小时前
【无标题】
开发语言·前端·javascript
AIBox3656 小时前
openclaw api 配置排查与接入指南:网关启动、配置文件和模型接入全流程
javascript·人工智能·gpt
precious。。。6 小时前
1.2.1 三角不等式演示
前端·javascript·html
阿珊和她的猫6 小时前
TypeScript 中的 `extends` 条件类型:定义与应用
javascript·typescript·状态模式
众创岛7 小时前
iframe的属性获取
开发语言·javascript·ecmascript
echome8888 小时前
JavaScript Promise 与 async/await 实战:5 个高频异步编程场景的优雅解决方案
开发语言·javascript·ecmascript