通过转换文件缓冲区上传文件到Google cloud



我试图通过接受缓冲区并使用save函数将文件上传到谷歌云。然而,我的问题是我的文件没有以正确的格式上传到谷歌云。它们被上传了,但是当我尝试下载文件时,它们都是缓冲区的。txt文件。

我真的不知道我应该在这里做什么。任何帮助将非常感激!

upload.ts

const upload = async (fileBuffer: any, filePath: string, fileName: string) => {
const file = bucket.file(path.join(filePath, fileName));
file.save(fileBuffer, (err: any) => {
if (err) {
console.log(err);
}
});
}

storage.ts

imageSender: async(req: Request, res: Response) => {
try {
const buffer = "";
await upload(buffer, "folder", "file");
res.status(200).send("The file was successfully uploaded.");
} catch (err) {
res.status(500).send(httpError(500, "Could not upload the file."));
}
},

原来我实际上是在base64字符串,而不是一个缓冲区,所以我只是添加了const buffer = Buffer.from(base64, 'base64');。在那之后,它工作得很好!