VUE前端导出文件之file-saver插件
// 引入axios和FileSaver
import axios from 'axios';
import { saveAs } from 'file-saver';
// 定义导出文件的方法
export function exportFile(url, params, fileName) {
// 发送GET请求获取文件流数据
axios({
method: 'get',
url: url,
params: params,
responseType: 'blob', // 重要:设置响应类型为blob
}).then((response) => {
// 使用FileSaver保存文件
const blob = new Blob([response.data], { type: 'application/vnd.ms-excel' });
saveAs(blob, fileName);
}).catch((error) => {
console.error('导出文件失败:', error);
});
}
// 使用示例
exportFile('http://example.com/api/download', { id: 123 }, 'example.xlsx');
这段代码定义了一个exportFile
函数,它接受文件下载的URL、请求参数和文件名作为输入,然后使用axios发送GET请求来下载文件,并使用FileSaver.js插件保存文件到用户的设备上。使用时需要引入axios和FileSaver,并在需要导出文件时调用exportFile
函数。
评论已关闭