同时将图像上传到存储器,并将图像的数据上传到数据库中



我目前正在使用React.js进行我的第一个项目——建立一个在线商店。我正在使用Firebase Storage上传产品的图像。我能够上传它们,并在那之后通过另一个请求成功获得它们的URL。

上传完成后是否可以获得正确的url?我查看了uploadBytes函数的文档,希望它能返回一个可以与图像关联的url,但它没有。

我想上传图片并知道它的url,这样我就可以使用它的url作为参考将额外的信息上传到数据库,如价格、数量等,然后根据该url从存储和数据库中获取信息。

uploadBytes()方法返回一个包含UploadResult对象的Promise,该对象具有两个属性:

  • metadata,包含从服务器发回的元数据
  • ref,引发此次上传的引用

因此,您可以使用ref属性来获取下载URL。(或者,您可以直接使用传递给uploadBytes()方法的引用,因为它是相同的!(

例如:

import { getStorage, ref, uploadBytes } from "firebase/storage";
const storage = getStorage();
const storageRef = ref(storage, 'some-child');
const bytes = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x21]);  // Example
uploadBytes(storageRef, bytes)
.then((uploadResult) => {
return getDownloadURL(uploadResult.ref)
})
.then((downloadURL) => {
console.log('File available at', downloadURL);
});

相关内容

  • 没有找到相关文章

最新更新