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

问题描述 投票:0回答:2

有人可以帮忙吗?我已经搜索文档几个小时了,但找不到正确的解决方案。我正在尝试上传项目中名为 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);
        })
   });
javascript firebase firebase-storage image-upload
2个回答
1
投票

您已将字符串

../../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);
        })
   });

0
投票

直接保存文件,您将需要生成一个令牌。 (但这对我不起作用)

有效的方法是将其保存为斑点

© www.soinside.com 2019 - 2024. All rights reserved.