我正在尝试下载一些已上传到 Google Cloud Storage(又名存储桶)的图像。我无法在我的任何一个上使用 .ref() 方法const storage
or const bucket
因为它们是管理 SDK 的一部分。 admin.storage 只有方法 .bucket() (https://firebase.google.com/docs/reference/admin/node/admin.storage.Storage https://firebase.google.com/docs/reference/admin/node/admin.storage.Storage).
我能够访问存储桶。
Bucket.getFiles() 有效,结果是一个包含大量元数据(如文件名、存储桶所有者等)的文件对象数组。如何从云存储中获取图像并将其插入到 html 对象中?
var admin = require("firebase-admin");
var serviceAccount = require("./randomDB-f12d3-admin-correctly-working.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://randomDB-f12d3.firebaseio.com",
storageBucket: "randomDB-f12d3.appspot.com"
});
const gcs = require("@google-cloud/storage");
gcs.projectId = "randomDB-f12d3";
gcs.keyFilename = "randomDB-f12d3-firebase-admin-correctly-working.json";
exports.getFile = functions.https.onRequest((req, res) => {
cors(req, res, () => {
if (req.method !== "GET") {
return res.status(500).json({
message: "Not allowed"
});
}
const storage = admin.storage();
const bucket = admin.storage().bucket();
bucket.getFiles().then((result)=>{
console.log(result);
res.send(result);
});
});
});
Cloud Storage Admin SDK 只是一个包装器@google-cloud/存储模块 https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/。你打电话时admin.storage()
,你返回的是Storage https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/Storage该库中的对象。和admin.storage().bucket()
,您将获得默认存储Bucket https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/Bucket为您的项目。从那里,你应该使用file() https://cloud.google.com/nodejs/docs/reference/storage/1.7.x/Bucket#file创建对该存储桶中文件的引用并download https://googleapis.dev/nodejs/storage/latest/File.html#download他们根据需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)