当前位置: 首页 > news >正文

JS实现直接下载PDF文件

pdf文件通过a标签直接下载会打开页面,所以,请求该文件的blob文件流数据,再通过window.URL.createObjectURL转成链接,就可以直接下载了。
只需要替换url和文件名称就行,文件名的后缀记得要写上pdf,不然会变成txt文件。
注意:不能跨域,可以把文件上传到后端服务器,就不会跨域了。还可以用跨域代理处理。

let url = 'http://xxxxxxxxx.pdf'
let name = '实例.pdf'// 发送http请求,将文件链接转换成文件流let xhr = new XMLHttpRequest()xhr.open('get', url, true)// 请求类型xhr.responseType = 'blob'xhr.onreadystatechange = function() {// 获取接口结果if (xhr.readyState === 4 && xhr.status === 200) {window.URL = window.URL || window.webkitURLlet a = document.createElement('a')let blob = new Blob([xhr.response])// 通过二进制文件创建urllet url = window.URL.createObjectURL(blob)a.href = urla.download = namea.click()// 销毁创建的urlwindow.URL.revokeObjectURL(url)}}xhr.send()

相关文章:

  • crud方法命名示例
  • 碳计量新突破!安科瑞碳电表赋能企业绿色低碳转型
  • 正则表达式篇
  • std::initialzer_list 与花括号{}数据列表
  • 游戏引擎学习第304天:构建与遍历图
  • 【ffmpeg】编解码器
  • 区分:union(),coalesce () 和 repartition ()
  • TCP原理解析
  • 『VUE』vue-quill-editor 添加超链接的同时为文字添加颜色(详细图文注释)
  • Oracle 物理存储与逻辑管理
  • DevOps体系之Jmeter
  • React 第四十五节 Router 中 useHref() Hook的使用详解及注意事项
  • 【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型模块操作运行仿真
  • 高效数据库管理新体验:SQLynx 3.7 功能解析与团队协作场景实践
  • BGP为什么要配置对等IP?
  • 企业异构系统和信息孤岛应用信息集成的方案
  • 产品经理面经(三)
  • 电商系统搭建对企业的多维影响与战略价值
  • 帕鲁杯证书在线生成-仅供娱乐
  • 20T资源大礼包,自用,自取
  • 公司有必要建设网站吗/株洲百度seo
  • 公司注册地址查询系统/广州seo技术外包公司
  • 建设部网站业绩补录/优化分析
  • 在印度做视频网站/今日头条网页版入口
  • 广州机械加工/建站 seo课程
  • 三亚推广公司/淘宝seo培训