Vue项目里前端如何把base64流转换为文件进行下载
时间: 2024-02-25 11:51:18 浏览: 24
在 Vue 项目中,前端可以通过以下步骤将 Base64 流转换为文件进行下载:
1. 将 Base64 字符串转换为 Blob 对象:
```javascript
function base64ToBlob(base64Str) {
// 获取 Base64 字符串的数据类型和数据
var arr = base64Str.split(',');
var type = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]);
// 将数据转换为 Uint8Array
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
// 返回 Blob 对象
return new Blob([u8arr], {type: type});
}
```
2. 创建 URL,将 Blob 对象转换为 URL:
```javascript
var blob = base64ToBlob(base64Str);
var url = URL.createObjectURL(blob);
```
3. 创建链接,模拟下载操作:
```javascript
var link = document.createElement('a');
link.href = url;
link.download = 'example.pdf';
link.click(); // 模拟点击下载链接
```
其中,`base64Str` 是 Base64 字符串,`link.download` 指定了下载文件的文件名。