我想上传一个图像到Firebase存储从一个可调用的https云函数,但我不知道如何做。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const storageBucket = admin.storage().bucket('gs://xxxxx.appspot.com');
exports.test_upload = functions.https.onRequest(async (request, response) => {
var base64Img = "data:image/jpeg;base64,/9j/4AAQSkZJRg...AoNDQoIC";
let filename = new Date().getTime() + '.jpg';
await storageRef.child('/destination/'+filename).putString(base64Img, 'data_url').then(function(snapshot) {
snapshot.ref.getDownloadURL().then(async (url) => {
console.log(url);
});
});
response.status(200).send("Done!");
});
你能帮我理解吗,怎么做?
太谢谢你了
您似乎试图在云函数代码中使用Firebase JavaScript SDK进行云存储,这是不可能的。 用于云存储的Firebase JavaScript SDK仅可用于web客户机。
在服务器端环境中,您需要使用Firebase Admin SDK与云存储交互。 在本例中,您将使用预先初始化的Node.js SDK版本进行云存储。
因此,要了解如何在云函数中上传图像,我将搜索Node.js SDK,用于云存储上传文件。 这导致: