vue后台项目实现下载功能
1.首先封装后台接口downFile.js
export function downFile(id: any) {
return service({
url: `/compliance/filecheck/getFile/?id=${id}`,
method: 'get',
responseType: 'blob',
})
}
2.页面的话直接绑定
<el-button @click="down(scope.row)" :icon="Download" type="info" size="small">下载源文件</el-button>
3.直接上逻辑
1.1 页面引入封装好的接口
import { downFile } from '/@/api/downFile';
注意:vue3的引入方式可能会跟vue2有所不同.
//下载
const down = (scope: any) => {
console.log(scope)
console.log(scope.id)
const filName = scope.fileName;
downFile(scope.id).then((res) => {
console.log(res);
const data = res;
let url = window.URL.createObjectURL(new Blob([data]));
let link = document.createElement('a');
link.style.display = 'none';
link.href = url;
link.setAttribute('download', filName);
document.body.appendChild(link);
link.click();
});
};