С помощью busboy
я пытаюсь сохранить FileStream
в корзину Firebase.
код:
const admin = require('firebase-admin');
const userFilesBucket = admin.storage().bucket(USER_FILES_BUCKET_NAME);
function handlePost(req, res){
const busboy = new Busboy({ headers: req.headers })
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
file.on('data', function(data) {
});
file.on('end', function() {
uploadFile({filename: filename, file:file, mimetype:mimetype})
.catch(err => {
console.log("attemptFileUpload | err:", err)
reject(err)
});
});
});
}
function uploadFile(fileContainer){
const filePath = fileContainer.filename
const file = userFilesBucket.file(filePath);
file.save(fileContainer.file, function(err) {
if (!err) console.log('Sucess | uploaded a blob or file!');
});
}
Это выполнится успешно, и файл будет сохранен в корзину, но в то же время вышеприведенное обещание ловит исключение:
The "chunk" argument must be one of type string or Buffer. Received type object
, а также файлы повреждены. Эта ошибка говорит мне, что я должен преобразовать FileStream в Buffer?
Следует также отметить, что fileContainer.file
имеет тип FileSream.
Спасибо.