【发布时间】:2020-03-19 01:04:42
【问题描述】:
我已将图片上传到 Cloud Storage,但在显示图片时遇到了问题。在存储概览中,我收到错误加载预览。
当我将图像链接添加到 Cloud Firestore 中的对象时,我没有执行此步骤,但我不确定这是否只是由于文件类型(HEIC,但图像/jpeg)或某些原因我的代码有问题:
存储概览:
图片(点击时):
显示问号。
图像响应(react-native-image-picker):
{height: 3024, origURL: "assets-library://asset/asset.HEIC?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=HEIC", fileName: null, data: "/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAA…c4z+P04wa+twuG5Yq628/OR1QqSdtLLqrrTe32L79l63P/9k=", width: 4032, …}
height: 3024
origURL: "assets-library://asset/asset.HEIC?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=HEIC"
fileName: null
data: "/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAA"
width: 4032
type: "image/jpeg"
fileSize: 13712705
isVertical: false
uri: "file:///Users/jefflewis/Library/Developer/CoreSimulator/Devices/6B2E3DBA-217F-46B5-AAF2-C1AA540B408E/data/Containers/Data/Application/4CD01B23-6649-4222-BF0E-CB5959732A3E/Documents/images/BECF69B3-9AFF-4CBB-9648-331EF623271C.jpg"
__proto__: Object
代码:
// Image URI
const imageURI = action.newRecipe.image.uri;
// Image Type
const imageType = action.newRecipe.image.type;
// Image Blob
const blob = new Blob([imageURI], {type : `${imageType}`});
console.log('Adding Blob');
console.log(blob.data);
// Firebase Cloud Storage File Path Ref (UUID Generates Randomized File Name)
const filePathRef = imagesRef.child(uuidv4());
// Metadata
const metadata = {
contentType : `${imageType}`,
};
// Upload File
console.log('Firebase: Uploading image');
const uploadTask = reduxSagaFirebase.storage.uploadFile(filePathRef, blob, metadata);
// Upload Task
uploadTask.on('state_changed', (snapshot) => {
// Progress
const progress = (snapshot.bytesTransferred * 100) / snapshot.totalBytes;
console.log(`Uploading Image: ${progress}%`);
});
// Wait For Upload To Complete
yield uploadTask;
【问题讨论】:
-
如果您在 Firebase 控制台中看到未提供解释的错误,请联系 Firebase 支持并详细说明如何重现该问题。 support.google.com/firebase/contact/support
-
尝试使用其他网络访问。有时互联网提供商会出现问题。
-
@jefelewis 你能分享你的解决方案吗?
-
@Byusa 老实说,这些图像是我为 Firebase 做的最后的痛苦,我最终切换到 AWS (AWS Amplify)
-
@jefelewis 我能感觉到你。在下面用“blob”检查我的解决方案,它修复了它。
标签: firebase google-cloud-firestore google-cloud-storage firebase-storage