javascript - 通过转换文件缓冲区将文件上传到谷歌云
问题描述
我正在尝试通过接受缓冲区并使用该save
功能将文件上传到谷歌云。但是,我的问题是我的文件没有以正确的格式上传到谷歌云。它们被上传,但是当我尝试下载文件时,它们都是缓冲区的 .txt 文件。
我不确定我应该在这里做什么。任何帮助将不胜感激!
上传.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);
}
});
}
存储.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');
. 在那之后它完美地工作了!
推荐阅读
- ios - Firebase 身份验证:Swift 中的电话号码身份验证
- python-3.x - 我的python代码没有错误。但我没有得到任何答案
- javascript - 当 Mozilla Firefox 通过链接启动时,如何始终获取 browser.webRequest.onBeforeRequest 事件?
- c++ - openCV cv::cuda::LookUpTable LUT 输入
- swift - 进行获取 api 调用
- image - 从模糊图像中提取字符
- html - Bootstrap CSS 固定 bg 定位
- rust - 如何使用 tokio-tungstenite 的 send_all 方法发送 websocket 消息流
- c - char string[100] 和 char *string = malloc(100) 的区别
- c# - 如何在c#中将浮点数组转换为字节数组?