我正在尝试创建一个用户可以上传图片的社交媒体应用。我正在为应用程序使用firebase和firebase存储。我尝试将图片上传到firebase,我收到了一个错误:
Firebase Storage: Invalid argument in 'put' at index 0:
Expected Blob or File
我尝试上传的图片数据不能是blob,所以我的问题是,如何修复此代码,或者如何以其他方式上传图片?
//uri is the path on the phone to the image
uploadImage(uri) {
var ref = firebase.storage().ref().child('image.jpg');
let uriParts = uri.split('.');
let fileType = uri[uri.length - 1];
let formData = new FormData();
formData.append('photo', {
uri,
name: `photo.${fileType}`,
type: `image/${fileType}`,
});
ref.put(formData).then(function(snapshot) {
console.log('Uploaded a blob or file!');
});
};
答案 0 :(得分:0)
要上传新文件,您应该使用referencedColumn
直接更新,文件为File,Blob或Uint8Array。
您可能想要使用react-native-fs抓取Blob,然后上传它:
ref.put(file)