本文介绍: msSaveBlob : IE不支持a标签下载,用的是msSaveBlob方案。createObjectURL :把blob对象的内存地址,以url形式给出。a标签的download属性 : 表面该a标签的行为是下载,并说明文件名。//使用第三方库file–saver。前端下载后端传回的文件有三种方式。
几个重要概念
createObjectURL :把blob对象的内存地址,以url形式给出
//按blob请求接口
// 这边响应必须设置成blob类型
axios.get('http://localhost:8000/download',{responseType:'blob'}).then((res) => {
console.log(res.data)
if(window.navigator.msSaveBlob){
//说明是IE浏览器,需要做兼容
window.navigator.msSaveBlob(res.data,{type:'application/xxxxxx'},"test.ppt")
} else {
//说明是现代主流浏览器
//传入文件数据,生成一个 下载链接
let blobURL = URL.createObjectURL(res.data)
//创建标签
let link = document.createElement('a')
//设置href
link.href = blobURL
//设置a标签的行为是download,不然就跳转了,同时设置名字是"test.ppt"
link.download = "test.ppt"
//隐藏a标签,他只是下载,没必要出现
link.style.display = "none"
//模拟点击
link.click()
//最后,把这个URL进行销毁,免得他占内存
URL.revokeObjectURL()
}
})
//引入第三方库
import {saveAs} from "file-saver"
axios.get('http://xxxxxxxxxxx',{responseType:'blob'}).then((res) => {
saveAs(res.data,"fileSaveDownload.ppt")
})
原文地址:https://blog.csdn.net/qq_45732872/article/details/134735727
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_46232.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。