实现点击下载按钮就可以下载文件得功能
文件流:通过base64加密得对应文件得内容
前端:要先解密
接口调用(url,参数根据实际而定)
api
import request from 'axios';
export function downLoad (path,filename){
return request.post(url,{
path,
filename
});
}
index.vue
//引入接口
import downLoad form 'api地址'
//methods方法
downLoad(path, filename).then((res) => {
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
const byteCharacters = atob(res.data);
const byteNumbers = new Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
const blob = new Blob([byteArray], { type: 'application/vnd.ms-excel' });
window.navigator.msSaveOrOpenBlob(blob, filename);