我正在使用以下代码将base64转换为blob
function base64tofile(base64){
var mime = base64.split(';base64,')[0].split('data:')[1];
var base64 = base64.split(';base64,')[1];
mime = mime || '';
var sliceSize = 1024;
var byteChars = window.atob(base64);
var byteArrays = [];
for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {
var slice = byteChars.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
return new Blob(byteArrays, {type: mime});
}
基本上,我浏览到一个输入文件,然后转换为base64,然后执行一些图像处理(camanjs,crop等)过程,然后输出为base64,然后转换为blob并使用ajax上传到服务器
是否可以将Blob放回输入文件?因此,使用表单我可以将数据提交到服务器,而无需使用ajax或js,只需提交本机表单即可。