在 Vue 项目中,你可以使用 FileSaver.js 库来方便地下载文件流。FileSaver.js 封装了不同浏览器的下载方式,使得下载文件更加简单和兼容。以下是一个完整的示例方法:
首先,安装 FileSaver.js 库:
<template>
<button @click="downloadFile">下载文件</button>
</template>
<script>
import { saveAs } from 'file-saver';
export default {
methods: {
downloadFile() {
axios({
method: 'get',
url: 'your_file_url',
responseType: 'blob', // 指定响应数据类型为 blob
}).then((response) => {
//上面是接口
const blob = new Blob([response.data]);
const fileName = 'your_file_name';
saveAs(blob, fileName);
});
},
},
//方法一
way(){
// const blob = new Blob([res]);
// const fileName = fileName;
// saveAs(blob, fileName);
},
//方法二
way1(){
// 创建一个 <a> 标签并设置下载属性
const downloadLink = document.createElement('a');
downloadLink.href = URL.createObjectURL(res);
downloadLink.download = fileName; // 下载文件的名称
// 模拟用户点击下载链接
downloadLink.click();
// 清理临时对象
URL.revokeObjectURL(downloadLink.href);
},
};
</script>