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();
相关推荐
嘟嘟07171 小时前
顺时针螺旋填充 n×n 矩阵:手撕 generateMatrix 的四个 for 循环
javascript·算法·面试
Hello-FPGA1 小时前
AI 如何自动通过 PDF 原理图生成管脚映射
人工智能·fpga开发·pdf
weixin_BYSJ19871 小时前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
张元清1 小时前
React useSessionStorage Hook:刷新不丢、只属于当前标签页的状态 (2026)
前端·javascript·react.js
weixin_BYSJ19871 小时前
flask民族服饰饰品商城小程序---附源码37399
java·javascript·spring boot·python·小程序·django·php
xiaominlaopodaren1 小时前
three.js最小地图运行时(一):视图状态
javascript·gis·three.js
Orange_sparkle1 小时前
从五个 TypeScript 文件看懂 Coding Agent:一次 nano-pi 学习复盘
javascript·学习·typescript
摸鱼研究员2 小时前
neverthrow,ts 中优雅的异常处理方案
前端·javascript
烬羽2 小时前
求第 K 大,为什么反而要用最小堆?
javascript·数据结构·算法
jingchao19982 小时前
Cannot read properties of null (reading ‘insertBefore‘)
前端·javascript·vue.js