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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章