我正在使用这些标题的 Postman 。
如果我保留默认的Content-Type,它将抛出错误
Error: Malformed part header
但是,如果我删除默认的内容类型,并放入我自己的内容类型(见最后一个键),它将无法扫描我上传的文件(req.file
是undefined
)。
因此,我倾向于认为边界是问题所在。但是,如果我删除它,我将无法看到我的req.file
下面是我的node.js代码
const multer = require("multer")
const upload = multer({
storage: multer.diskStorage({
destination: (req, file, callback) => {
callback(null, "./images")
},
filename: (req, file, callback) => {
callback(null, file.originalname)
}
})
})
app.post("/single", upload.single("upload"), (req, res) => {
console.log(req.file);
res.send("Testing123")
})
更新:我还没有找到答案,但是当我关闭并重新打开 Postman 时,Error: Malformed part header
不再显示。但是,我的req.file
仍然是undefined
并且因为有人问another stack overflow question是否回答了我的问题:不,它没有,这就是原因。我已经在做答案1
了
答案3(multipart/mixed
)也使我的req.file
我看了答案4的视频,但它和答案1一样
2条答案
按热度按时间pvcm50d11#
答案很愚蠢。由于某种原因,它没有显示req.file,但它仍然处理所有相同的内容。这真的让我很困惑,但我把我的代码改为官方的multer错误处理方式,https://www.npmjs.com/package/multer#error-handling
我可以在
//Everything went fine
部分看到它。这有点奇怪,所以如果有人知道原因,请告诉我sczxawaw2#
我也有这个问题与 Postman ,我切换到失眠和我的代码工作得很好。问题似乎是 Postman ,而不是multer。