Я использовал этот кусок кода, чтобы загрузить изображение на firebase. Я передаю буфер в поле file
из внешнего интерфейса. Но получаю ошибку
Error: ENOENT: no such file or directory
Код
const uploadImageToStorage = (file) => {
console.log({ file })
return new Promise((resolve, reject) => {
if (!file) {
reject('No image file');
}
let newFileName = `${file.originalname}_${Date.now()}`;
let fileUpload = bucket.file(newFileName);
const blobStream = fileUpload.createWriteStream({
metadata: {
contentType: 'application/json'
}
});
blobStream.on('error', (error) => {
console.log({ error },'55555555555555555555555')
reject('Something is wrong! Unable to upload at the moment.');
});
blobStream.on('finish', () => {
// The public URL can be used to directly access the file via HTTP.
const url = format(`https://storage.googleapis.com/${bucket.name}/${fileUpload.name}`);
console.log({url})
resolve(url);
});
blobStream.end(file.buffer);
});
}
const handler = async (request, reply) => {
console.log('Upload Image', request.file);
console.log('Upload Image', request.payload);
let file = request.payload;
if (file) {
uploadImageToStorage(file).then((success) => {
res.status(200).send({
status: 'success'
});
}).catch((error) => {
console.error(error,'dddddddddddddddddddddddddddddd');
});
}
}