Firebase:上传后加载预览时出错

问题描述

Firebase Storage Failure Screenshot

有人可以帮忙吗?我一直在搜索文档数小时,但找不到正确的解决方案。我正在尝试上传我的项目中名为 house.jpg 的硬编码图像。但是,当我上传它时,它没有正确上传。我指定它是一个图像,但它只显示错误加载预览”。它也存储在 9 个字节,而它应该存储大约 50KB。

var storageRef = storage.ref();
var propertyRef = storageRef.child(mainImageUrl);
console.log("adding property image")

const myPromise = new Promise((resolve,reject) =>{
    var Metadata = {
       contentType: 'image/jpeg',cacheControl: 'public,max-age=300',};
    var image = "../../assets/icons/house.jpg"
    console.log(image)
    propertyRef.put(image,Metadata).then((snapshot)=>{
        console.log('Uploaded a file',snapshot);
        snapshot.ref.getDownloadURL().then((downloadURL)=>{
            console.log("url: ",downloadURL);
                resolve(downloadURL);
            })
        }).catch((error)=>{
                reject(error);
        })
   });

解决方法

您将字符串 ../../assets/icons/house.jpg 保存为文件

如果你想从这个位置保存文件,你必须先获取数据。

需要:

var storageRef = storage.ref();
var propertyRef = storageRef.child(mainImageUrl);
console.log("adding property image")

const myPromise = new Promise((resolve,reject) =>{
    var metadata = {
       contentType: 'image/jpeg',cacheControl: 'public,max-age=300',};
    var image = require("../../assets/icons/house.jpg")
    console.log(image)
    propertyRef.put(image,metadata).then((snapshot)=>{
        console.log('Uploaded a file',snapshot);
        snapshot.ref.getDownloadURL().then((downloadURL)=>{
            console.log("url: ",downloadURL);
                resolve(downloadURL);
            })
        }).catch((error)=>{
                reject(error);
        })
   });