【发布时间】:2022-08-18 15:36:08
【问题描述】:
我在 nodejs 中使用 multer 来处理 multipart/formdata 请求并在请求中获取图像文件,如下所示:
import multer from \"multer\";
const upload = multer({
storage: multer.memoryStorage(),
limits: { fileSize: 1000000000, files: 2 },
});
app.post(\"/\", upload.single(\"image\"), (req, res , next) => {
const imageFile = req.file
dbx
.filesUpload({ path: \"/image.png\", contents: imageFile })
.then((response: any) => {
})
.catch((uploadErr) => {
});
}
)
问题是我无法上传图像,它给我一个错误,它是一个缓冲区而不是一个实际的图像。如何从req.file 生成图像然后上传而不将其保存在磁盘上?
-
它给出了一个错误什么是缓冲区而不是实际图像?
-
您可以通过
req.file.buffer访问缓冲区,因此请尝试const imageFile = req.file.buffer。 -
@user3840170 是的,它只接受像 wallpaper.png wallpaper.jpg 这样的图像文件,所以我想将 req.file 图像转换为我的控制器内的实际图像并将其发送到 dropbox api,而不将服务器内的 req.file 作为文件保存。
-
@turivishal 我可以访问它,但我想将其转换为实际的图像文件并发送到 dropbox api 。
-
“是”不是对“什么”问题的回答。去搞清楚。
标签: javascript node.js buffer multipartform-data multer