1.base64轉blob(二進制數據)
/** * 將以base64的圖片url數據轉換為Blob * @param urlData 用url方式表示的base64圖片數據 */ function convertBase64UrlToBlob(urlData){ var arr = urlData.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while(n--){ u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], {type:mime}); }
2.blob轉base64
/** * 借助FileReader實現轉化 * return base64Url */ function blobToDataURL(blob) { let a = new FileReader(); a.onload = function (e) { return e.target.result; } a.readAsDataURL(blob); }
blob將圖片以二進制數據的形式傳給后台,據說是更加友好,我沒有進行過多研究。