base64 轉 blob,bse64轉flle,blob轉bse64
base64轉blob:
//dataurl:base64的url fileType:要轉的文件類型 urlToBlob (dataurl, fileType) { dataurl = dataurl.replace('-', '+').replace('_', '/').split(';base64,')[1] //以防生成的url字符串不規范 // var raw = decodeURIComponent(escape(window.atob(dataurl))) // 用decodeURIComponent防止base64編碼錯誤 var raw = window.atob(dataurl) // 用decodeURIComponent防止base64編碼錯誤 var rawlength = raw.length var uint8array = new Uint8Array(rawlength) for (var i = 0; i < rawlength; i++) { uint8array[i] = raw.charCodeAt(i) } var blob = new Blob([uint8array], {type: 'image/' + fileType}) return blob },
base64轉file:
//dataurl:base64的url filename:文件名字 urlToFile (dataurl, filename) { // 將base64轉換為文件 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 File([u8arr], filename, { type: 'png' }) },
blob轉base64:
blobToDataURL(blob, callback) { let a = new FileReader(); a.onload = function (e) { callback(e.target.result); } a.readAsDataURL(blob); }

浙公網安備 33010602011771號