繁体   English   中英

从React Native上传到Firebase存储

[英]Upload to Firebase Storage from React Native

我看到很多关于从React Native上传到Firebase存储的讨论,但似乎都是如何解决React Native不支持Blob或文件这一事实。 但是Firebase具有用于上传base64编码文件的putString方法。

例如,为什么此代码在浏览器中有效,但在React Native中却无效:

var base64String = "iVBORw0KGgoAAAA...";
firebase
  .storage()
  .ref()
  .child(`test/test.png`)
  .putString(base64String, 'base64')
  .then(function(snapshot) {
    console.log('Uploaded a base64 string!');
  })
  .catch(function(err) {
    console.log('Problems', err);
  });

React Native中没有错误,但Firebase中没有文件到达。 是什么赋予了?

Firebase Storage JS开发人员在此处。

需要明确的是, 在撰写本文时(2016年9月2日),React Native不支持Firebase Storage上传。

为了回答有关为什么上传在浏览器中而不是React Native上起作用的问题:我们的putString()方法不需要Blob支持,但是如果您传递base64字符串,我们的库仍必须能够以某种方式发送二进制数据。

在现代浏览器中,您可以将二进制数据存储在ArrayBuffer中,并将其作为XMLHttpRequest或Fetch请求的主体发送-在React Native中不是这样。

据我们所知,React Native核心库当前不提供一种将内存中的二进制数据作为HTTP请求的主体发送的好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM