functiondataURItoBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
var ab = newArrayBuffer(byteString.length);
var ia = newUint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
var blob = new Blob([ab], {type: mimeString});
return blob;
}
微信小程序支持将base64格式转换为blob格式。可以使用以下方法将base64转换为blob:
function dataURItoBlob(dataURI) { var byteString = atob(dataURI.split(',')[1]); var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } var blob = new Blob([ab], {type: mimeString}); return blob; }
然后可以使用以下代码将base64转换为blob:
var blob = dataURItoBlob(base64Data);
上传oss需要blob格式,因此需要将blob上传到oss。上传到oss的代码将根据您使用的oss库而有所不同。