JS之blob对象下载文件,解决word可能打开是乱码,xlsx文件打不开,图片显示格式不支持等问题

您所在的位置:网站首页 download文件打开是乱码 JS之blob对象下载文件,解决word可能打开是乱码,xlsx文件打不开,图片显示格式不支持等问题

JS之blob对象下载文件,解决word可能打开是乱码,xlsx文件打不开,图片显示格式不支持等问题

2024-01-25 00:07| 来源: 网络整理| 查看: 265

请求接口后,接口返回的要是一个文件流的数据。

请示到数据之后用blob对象进行对数据处理;

downloadFile(file) { dwonloadFiles({ fileName: file.name }).then(response => { let blob = new Blob([response]); let downloadElement = document.createElement("a"); let href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; console.log(file.name, "文件名"); downloadElement.download = file.name; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 }); },

如果直接这样写的的话,下载下来的文件,像word可能打开是乱码,xlsx文件打不开,图片显示格式不支持,因此,需要在请求接口的时候加上此属性:responseType: 'blob'

// 知识链库下载文件 export function dwonloadFiles(query) { return request({ url: '/system/knowledgechain/download', method: 'get', params: query, responseType: 'blob' }) }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3