JS base64转换成文件

项目中需要将后台返回的base64转换成文件并下载

dataURLtoFile(dataurl, filename) { // 生成Blob
  var arr = dataurl.split(',');
  var mime = arr[0].match(/:(.*?);/)[1];
  var bstr = atob(arr[1]);
  var n = bstr.length;
  var u8arr = new Uint8Array(n);
  while (n--) {
    u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr], { type: mime });
}
/**
 * @name: 生成下载路径
 * @param {String} fileName 文件名称
 * @param {String} file base64字符串
 * @return: 下载路径url
 */
createDownloadFileUrl(fileName, file) {
  const blob = this.dataURLtoFile(`data:application/zip;base64,${file}`, fileName); // application/zip 需要改成要下载文件的类型
  blob.lastModifiedDate = new Date();
  blob.name = fileName;
  return URL.createObjectURL(blob);
},
<a :href="downloadUrl" download>下载</a>

downloadUrl就是createDownloadFileUrl方法返回的url

如果不知道文件base64类型是什么样的可以通过以下地址检查,拖进去就可以:https://www.zhangxinxu.com/sp/base64.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值