我做了谷歌并尝试了一些代码,但没有用,因为每次我将云功能部署到firebase时,大约需要30秒--1分钟,我认为如果我继续尝试代码,这完全是浪费时间来自互联网
所以,我需要写一个像这样的云函数:
const admin = require('firebase-admin');
module.exports = function (request, response) {
const { message } = request.body;
// Now, store `message` into firebase storage
// path is: /messages/new_message, where `new_message`
// is NOT a folder, but the file that contains `message`
}
我确实有一个解决方案,但显然,这不是明智的选择,我的意思是,我可以随时安装firebase
包,然后调用initializeApp(...)
,然后调用firebase.storage().ref()...
。还有另一种方法吗?你能写一些代码来详细说明吗?
答案 0 :(得分:1)
您想要使用@google-cloud/storage
模块。
// Creates a GCS client,
const storage = new Storage();
module.exports = function (req, res) {
const { message } = req.body;
const bucket = storage .bucket('projectid.appspot.com');
const file = bucket.file('myFolder/myFilename');
// gcloud supports upload(file) not upload(bytes), so we need to stream.
const uploadStream = file.createWriteStream();
.on('error', (err) => {
res.send(err);
}).on('finish', () => {
res.send('ok');
}
uploadStream.write(data);
uploadStream.end();
}
请参阅我的parse-server GCS adapter以获取示例。