简体   繁体   English

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

[英]Firebase: Error loading preview after upload

Firebase 存储失败截图

Can somebody please help?有人可以帮忙吗? I have been searching documentation for hours, but can't find the right solution.我已经搜索了几个小时的文档,但找不到正确的解决方案。 I am trying to just upload a hard coded image that I have in my project called house.jpg.我正在尝试上传我在项目中名为 house.jpg 的硬编码图像。 However, when I upload it, it is not uploading properly.但是,当我上传它时,它没有正确上传。 I specified that it is an image, but it just shows 'error loading preview'.我指定它是一个图像,但它只显示“错误加载预览”。 It is also storing at 9 bytes, when it should be storing around 50KB.它也以 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);
        })
   });

You saved the string ../../assets/icons/house.jpg as file您将字符串../../assets/icons/house.jpg保存为文件

if you want to save the file from this location you have to get the data before.如果要从此位置保存文件,则必须先获取数据。

with require:需要:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM