vue前端把base64转为文件流
时间: 2023-07-27 10:12:41 浏览: 206
可以使用Blob对象将Base64编码转换为文件流,然后通过URL.createObjectURL()方法生成文件的URL地址,最后通过a标签的download属性实现文件下载。以下是一个示例代码:
```javascript
// 将base64编码转换为文件流
function base64ToBlob(base64Str) {
const byteStr = atob(base64Str.split(',')[1]);
const mimeStr = base64Str.split(',')[0].split(':')[1].split(';')[0];
const len = byteStr.length;
const u8arr = new Uint8Array(len);
for (let i = 0; i < len; i++) {
u8arr[i] = byteStr.charCodeAt(i);
}
return new Blob([u8arr], { type: mimeStr });
}
// 下载文件
function downloadFile(base64Str, fileName) {
const blob = base64ToBlob(base64Str);
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = fileName;
link.click();
URL.revokeObjectURL(url);
}
```
使用示例:
```javascript
const base64Str = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...'; // base64编码
const fileName = 'example.png'; // 文件名
downloadFile(base64Str, fileName); // 下载文件
```
阅读全文