【发布时间】:2021-10-16 03:04:49
【问题描述】:
我使用 FB admin SDK 编写了两个函数(~ 07/20/21)将文件上传到 FB Storage。它适用于 300 多次上传。我昨天(08 月 11 日)回到它,它不再工作,并且没有代码更改(据我所知)。
FB函数Logs说app ReferenceError: bucket is not defined at Object.writeFileToFirebase (/workspace/uploadUtils.js:12:18)存储桶是按照documentation在我的./firebaseConfig.js中定义的。
const firebase = require('firebase')
const functions = require('firebase-functions')
const admin = require('firebase-admin')
const firebaseConfig = require('./firebaseConfig.js')
firebase.initializeApp(firebaseConfig)
admin.initializeApp(firebaseConfig)
const bucket = admin.storage().bucket()
而我的两个函数都是从uploadUtils.js导出的
async function writeFileToFirebase(filename, mimetype, filebuffer) {
const file = bucket.file(filename)
const filestream = file.createWriteStream({
metadata: {
contentType: mimetype
}
})
await filestream.end(filebuffer).catch(functions.logger.log(err))
return
}
async function createThumbnail(newthumbname, mimetype, filebuffer) {
const file = bucket.file(newthumbname)
const thumbstream = file.createWriteStream({
metadata: {
contentType: mimetype
}
})
const gm = require('gm').subClass({
imageMagick: true
})
gm(filebuffer)
.resize(240, 240)
.toBuffer('jpg', (err, thumbbuffer) => {
thumbstream.end(thumbbuffer).catch(console.log(err))
})
return
}
exports.writeFileToFirebase = writeFileToFirebase
exports.createThumbnail = createThumbnail
错误消息的第 12 行是 const file = admin.storage().bucket()
我的bucket 声明的范围比函数调用高。我正在使用我在firebaseConfig.js 中指定的默认存储桶。
谁能告诉我我的bucket 声明有什么问题?还是我的问题在别处?
【问题讨论】:
标签: firebase google-cloud-functions google-cloud-storage firebase-storage