gpt4 book ai didi

javascript - 获取图像 url Firebase 存储(管理员)

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:33 24 4
gpt4 key购买 nike

我必须将图像上传到 Firebase 存储。我没有使用网络版存储(我不应该使用它)。我正在使用 firebase 管理员。没问题,我毫不费力地上传了文件,并在变量“file”中得到了结果。

如果我访问 firebase 存储控制台,图像就在那里。好吧。

return admin.storage().bucket().upload(filePath, {destination: 'demo/images/restaurantCover.jpg', 
metadata:{contentType: 'image/jpeg'}
public: true
}).then(file =>{
console.log(`file --> ${JSON.stringify(file, null, 2)}`);
let url = file["0"].metadata.mediaLink; // image url
return resolve(res.status(200).send({data:file})); // huge data
}) ;

现在,我有一些问题。

  1. 为什么要响应upload() 方法有这么多信息和这么多对象?查看巨大的对象,我在元数据中发现了一个名为 mediaLink 的属性,它是图像的下载 url。但是……

  2. 为什么 url 与 firebase 显示的不同?为什么找不到 downloadURL 属性?

  3. 如何获取firebase的url?

火力基地:https://firebasestorage.googleapis.com/v0/b/myfirebaseapp.appspot.com/o/demo%2Fimages%2Fthumb_restaurant.jpg?alt=media&token=bee96b71-2094-4492-96aa-87469363dd2e

媒体链接:https://www.googleapis.com/download/storage/v1/b/myfirebaseapp.appspot.com/o/demo%2Fimages%2Frestaurant.jpg?generation=1530193601730593&alt=media

  1. 如果我使用 mediaLink url,不同的 url 会有什么问题吗? (从 ios 和 Web 客户端阅读、更新)

最佳答案

查看Google Cloud Storage: Node.js Client文档,他们有一个链接到 sample code它确切地显示了如何执行此操作。另请参阅 File class documentation示例(下)

// Imports the Google Cloud client library
const Storage = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const filename = 'File to access, e.g. file.txt';

// Gets the metadata for the file
storage
.bucket(bucketName)
.file(filename)
.getMetadata()
.then(results => {
const metadata = results[0];

console.log(`File: ${metadata.name}`);
console.log(`Bucket: ${metadata.bucket}`);
console.log(`Storage class: ${metadata.storageClass}`);
console.log(`Self link: ${metadata.selfLink}`);
console.log(`ID: ${metadata.id}`);
console.log(`Size: ${metadata.size}`);
console.log(`Updated: ${metadata.updated}`);
console.log(`Generation: ${metadata.generation}`);
console.log(`Metageneration: ${metadata.metageneration}`);
console.log(`Etag: ${metadata.etag}`);
console.log(`Owner: ${metadata.owner}`);
console.log(`Component count: ${metadata.component_count}`);
console.log(`Crc32c: ${metadata.crc32c}`);
console.log(`md5Hash: ${metadata.md5Hash}`);
console.log(`Cache-control: ${metadata.cacheControl}`);
console.log(`Content-type: ${metadata.contentType}`);
console.log(`Content-disposition: ${metadata.contentDisposition}`);
console.log(`Content-encoding: ${metadata.contentEncoding}`);
console.log(`Content-language: ${metadata.contentLanguage}`);
console.log(`Metadata: ${metadata.metadata}`);
console.log(`Media link: ${metadata.mediaLink}`);
})
.catch(err => {
console.error('ERROR:', err);
});

关于javascript - 获取图像 url Firebase 存储(管理员),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com