javascript - 从 React Native 上传到 Firebase 存储

标签 javascript firebase react-native firebase-storage

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

例如,为什么这段代码可以在浏览器中运行,但不能在 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 存储上传。

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

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

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

关于javascript - 从 React Native 上传到 Firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39282752/

相关文章:

javascript - 奇怪的 JavaScript 比较运算符

ios - Firebase iOS GoogleSignIn 无需单击默认登录按钮即可切换

javascript - 为什么 backgroundColor 不起作用(React Native)?

javascript - TypeError : Object. 条目要求输入参数在 React Native 中不为空或未定义

javascript - 无法使用 $http 读取 json 文件

javascript - React 如何自动一次显示数组中的一个元素

javascript - 等待使用 jQuery/Javascript 完成

java - collectionGroup() 不是公开的。无法从外部包访问

node.js - 如何访问 Node.js 服务器上 Functions 内部的 Firebase 存储?

javascript - 将动画与样式组件一起使用( react native )