我正在开发一个反应本机项目,我必须将图像上传到我公司指定的云服务(我在此无法透露),这需要XMLHttpRequest Level 2,FileReader和Blob支持。
var srcData = new Blob([base64Data], {type: 'image/jpeg'});
我必须在服务调用中使用上面的变量srcData
作为参数,该文件将文件上传到云中并通过其url向我提供回调。我使用此URL更新数据库中的用户对象。
但我遇到了关键字Blob
的问题。经过一段时间的调查后,我发现升级到原生0.54版本可以解决Blob
关键字的问题。
我无法理解我出错的地方并且确实对本地支持Blob,XMLHttpRequest或fileReader做出了反应?有什么办法可以解决这个问题吗?
任何领导都将受到高度赞赏。提前谢谢。
答案 0 :(得分:0)
根据docs
var aBlob = new Blob( array[, options]);
其中数组是ArrayBuffer
,ArrayBufferView
,Blob
,DOMString
或任何此类对象混合的数组。
Base64
不包括上述内容,只是通过将其转换为基数-64表示,以ASCII字符串格式表示二进制数据。
由于您已经拥有base64
,因此从中生成blob
的最佳方法是不包含任何外部库
export const generateBlob = base64URL => fetch(base64URL)
.then(response => response.blob())
.then(response => console.log('Your blob is' + response)