我需要将图像上传到NodeJS服务器到某个目录.我正在使用connect-busboy节点模块.
我dataURL使用以下代码将我转换为blob的图像:
dataURLToBlob: function(dataURL) {
var BASE64_MARKER = ';base64,';
if (dataURL.indexOf(BASE64_MARKER) == -1) {
var parts = dataURL.split(',');
var contentType = parts[0].split(':')[1];
var raw = decodeURIComponent(parts[1]);
return new Blob([raw], {type: contentType});
}
var parts = dataURL.split(BASE64_MARKER);
var contentType = parts[0].split(':')[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
}
Run Code Online (Sandbox Code Playgroud)
我需要一种方法将blob转换为文件以上传图像.
有人可以帮我吗?
我正在使用File()构造函数来创建用于将blob文件上载到服务器的文件对象.以下代码适用于Chrome,但Safari和Internet Explorer无效.
image_url = new File([blob],file_name,{type: mimeString});
Run Code Online (Sandbox Code Playgroud)
代码在此行中断开并在控制台中获取此错误"FileConstructor不是构造函数"(评估'new File([blob],file_name,{type:mimeString})')
使用FileReader API是替代方案,但我无法解决此问题.