本文主要是介绍下载文件,自动获取后端返回文件名,并自动识别文件格式,如果是iso-8859-1编码转换utf-8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
点击下载文件按钮,获取后端返回接口,根据请求头自动解析文件名称,自动识别文件类型后缀名,如果中文是iso-8859-1格式转换为utf-8,否则下载不了.
axios({method: 'get',url: 'http://your-backend-url/download',responseType: 'blob',
}).then(response => {
// 获取请求头内容const contentDisposition = response.headers['content-disposition'];// 文件名处理、格式处理const encodedFilename = contentDisposition.split('filename=')[1];// utf-8格式处理// const decodedFilename = decodeURIComponent(encodedFilename);// iso-8859-1格式处理const decodedFilename = decodeURIComponent(escape(encodedFilename));// 创建一个 Blob 对象const blob = new Blob([response.data], { type: response.headers['content-type'] });// 创建一个 URL 对象const url = window.URL.createObjectURL(blob);// 创建一个链接元素并模拟点击以下载文件const a = document.createElement('a');a.href = url;//文件名、后缀类型处理a.download = decodedFilename;document.body.appendChild(a);a.click();// 释放内存window.URL.revokeObjectURL(url);
});
这篇关于下载文件,自动获取后端返回文件名,并自动识别文件格式,如果是iso-8859-1编码转换utf-8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!