我正在尝试将图像存储到firebase存储中,我正在使用node.js。
import * as admin from 'firebase-admin';
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://xxx-app.firebaseio.com',
storageBucket: 'xxxx-app.appspot.com'
});
function storeHeadShots(){
const bucket = admin.storage().bucket();
bucket.upload('./headshots/Acker.W.png', function(err, file){
if (!err){
console.log('file uploaded')
} else {
console.log('error uploading image: ', err)
}
});
}
storeHeadShots();
现在上面工作正常,但我在存储users/
中有一个文件夹,在这个文件夹中我存储图像。 如何访问此文件夹?
答案 0 :(得分:3)
对于试图解决相同问题的任何人。
该示例取自官方文档here,但未说明如何将文件放入文件夹。默认示例将文件放在与本地文件同名的存储桶根目录下。
我不得不更深入地研究Cloud Storage类文档here,发现对于options
,存在一个destination
参数,用于描述存储桶中的文件。
在以下示例中,本地文件images/bar.png
将被上载到默认存储桶的文件/foo/sub/bar.png
。
const bucket = admin.storage().bucket();
bucket.upload('images/bar.png', {
destination: 'foo/sub/bar.png',
gzip: true,
metadata: {
cacheControl: 'public, max-age=31536000'
}
}).then(() => {
console.log(`${filename} uploaded.`);
}).catch(err => {
console.error('ERROR:', err);
});
希望这可以为其他人节省一些时间。祝您上传愉快!