gpt4 book ai didi

firebase - 使用 putString 调用 React-native Firebase 存储上传

转载 作者:行者123 更新时间:2023-12-03 22:25:36 27 4
gpt4 key购买 nike

我设置此线程是为了阐明 firebase 存储 putString 方法在 React-native 中是否是否有效.

根据我的搜索,目前无法使用 put 方法将文件或 Blob 类型上传到 Firebase 存储。

React Native does not support the File and Blob types, so Firebase Storage uploads will not work in this environment. File downloads do work however.

来源:The Firebase Blog

因此调用

firebase.storage().ref()
.child(userID)
.put(new File(['this is a small amount of data'], 'sample-text.txt', { type: "text/plain" }), { type: "text/plain" })
.then(p => {console.log(p)})
.catch(p => {console.log(p)})

不起作用并以响应结束

code : "storage/unknown" message : "Firebase Storage: An unknown error occurred, please check the error payload for server response." name : "FirebaseError" serverResponse : "Multipart body does not contain 2 or 3 parts."

然而,还有另一种将数据上传到 Firebase 存储的选项,即使用 Firebase 存储的 putString 方法。适用于纯字符串。但是即使我用这个方法上传。我收到与以前相同的服务器响应。

firebase.storage()
.ref()
.child(userID)
.putString('string')
.then(p => {console.log(p)})
.catch(p => {console.log(p)});

Bu 从我学到的东西 this answer . putString 方式应该 有效。

我做错了什么?该代码在 React 中对我来说工作正常。每当我粘贴到 React-native 时。它停止工作。

最佳答案

我刚试过 react-native-fetch-blob正如 Ven 之前评论的那样,我能够让它工作,尝试使用 index file 中的这个片段在示例中:

1)类声明前:

import RNFetchBlob from 'react-native-fetch-blob';
const Blob = RNFetchBlob.polyfill.Blob;
window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest;
window.Blob = Blob;

2) 存储方法内部:

let filePath = 'YOUR/FILE/PATH';
let fileName = 'file_name.jpg';
let rnfbURI = RNFetchBlob.wrap(filePath);
// create Blob from file path
Blob
.build(rnfbURI, { type : 'image/png;'})
.then((blob) => {
// upload image using Firebase SDK
firebase.storage()
.ref('images')
.child(fileName)
.put(blob, { contentType : 'image/jpg' })
.then((snapshot) => {
console.log('Uploaded', snapshot.totalBytes, 'bytes.');
console.log(snapshot.metadata);
var url = snapshot.metadata.downloadURLs[0];
console.log('File available at', url);
}).catch(function(error) {
console.error('Upload failed:', error);
});

关于firebase - 使用 putString 调用 React-native Firebase 存储上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39160006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com