使用a标签下载文件
// 返回格式是文件流格式
// 在请求拿到文件流res以后,使用a标签下载
let pdfData = res.data
let blob = new Blob([ pdfData], {
type: `${this.fileBlobType};charset=utf-8;`
})
var a = document.createElement('a');
document.body.appendChild(a);
a.style = 'display: none';
var url = window.URL.createObjectURL(blob);
a.href = url;
a.setAttribute('download', filename)
a.click();
a.remove();
window.URL.revokeObjectURL(url);
要注意不同文件的new blob后生成的对象type是不同的,需要自己定义,下面是几种常见类型
| 后缀名 | 文件类型 | type |
|---|---|---|
| .xls | Microsoft Excel | application/vnd.ms-excel |
| .xlsx | Microsoft Excel (OpenXML) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .doc | Microsoft Word | application/msword |
| .docx | Microsoft Word (OpenXML) | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| application/pdf | ||
| .ppt | Microsoft PowerPoint | application/vnd.ms-powerpoint |
| .pptx | Microsoft PowerPoint (OpenXML) | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| .png | 便携式网络图形(PNG) | image/png |
| .json | JSON 格式 | application/json |
但是,企业微信下载完文件会出现标题栏出现UnKnown文字如图,目前还没有解决!官网链接

本文介绍了如何使用HTML的a标签结合Blob对象实现文件流下载,包括不同文件类型的Blob类型设定。然而,提到企业微信下载时文件标题显示问题尚未解决,官方链接未给出。
1万+

被折叠的 条评论
为什么被折叠?



