是否反应原生支持Blob?

时间:2018-04-26 13:39:32

标签: reactjs react-native blob

我正在开发一个反应本机项目,我必须将图像上传到我公司指定的云服务(我在此无法透露),这需要XMLHttpRequest Level 2,FileReader和Blob支持。

var srcData = new Blob([base64Data], {type: 'image/jpeg'});

我必须在服务调用中使用上面的变量srcData作为参数,该文件将文件上传到云中并通过其url向我提供回调。我使用此URL更新数据库中的用户对象。

但我遇到了关键字Blob的问题。经过一段时间的调查后,我发现升级到原生0.54版本可以解决Blob关键字的问题。

我无法理解我出错的地方并且确实对本地支持Blob,XMLHttpRequest或fileReader做出了反应?有什么办法可以解决这个问题吗?

任何领导都将受到高度赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:0)

根据docs

var aBlob = new Blob( array[, options]);

其中数组是ArrayBufferArrayBufferViewBlobDOMString或任何此类对象混合的数组。

Base64不包括上述内容,只是通过将其转换为基数-64表示,以ASCII字符串格式表示二进制数据。

由于您已经拥有base64,因此从中生成blob的最佳方法是不包含任何外部库

export const generateBlob = base64URL => fetch(base64URL)
    .then(response => response.blob())
    .then(response => console.log('Your blob is' + response)