js实现下载pdf而不是直接浏览器打开

编程入门 行业动态 更新时间:2024-10-23 19:19:16

js实现下载pdf<a href=https://www.elefans.com/category/jswz/34/1771316.html style=而不是直接浏览器打开"/>

js实现下载pdf而不是直接浏览器打开

fileLinkToStreamDownload(url, fileName, type) {const that = this;let reg =/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;if (!reg.test(url)) {throw new Error("传入参数不合法,不是标准的文件链接");} else {let xhr = new XMLHttpRequest();xhr.open("get", url, true);xhr.setRequestHeader("Content-Type", `application/${type}`);xhr.responseType = "blob";xhr.onload = function () {if (this.status == 200) {//接受二进制文件流var blob = this.response;that.downloadExportFile(blob, fileName, type);}};xhr.send();}},downloadExportFile(blob, fileName, fileType) {let downloadElement = document.createElement("a");let href = blob;if (typeof blob == "string") {downloadElement.target = "_blank";} else {href = window.URL.createObjectURL(blob); //创建下载的链接}downloadElement.href = href;downloadElement.download = fileName;document.body.appendChild(downloadElement);downloadElement.click(); //点击下载document.body.removeChild(downloadElement); //下载完成移除元素if (typeof blob != "string") {window.URL.revokeObjectURL(href); //释放掉blob对象}},

更多推荐

js实现下载pdf而不是直接浏览器打开

本文发布于:2023-11-17 03:27:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637095.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:而不是   浏览器   js   pdf

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!