为什么会出现此错误: Postman 错误:部件标题格式错误?

siv3szwd  于 2022-11-07  发布在  Postman
关注(0)|答案(2)|浏览(364)

我正在使用这些标题的 Postman 。

如果我保留默认的Content-Type,它将抛出错误

Error: Malformed part header

但是,如果我删除默认的内容类型,并放入我自己的内容类型(见最后一个键),它将无法扫描我上传的文件(req.fileundefined)。
因此,我倾向于认为边界是问题所在。但是,如果我删除它,我将无法看到我的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一样

pvcm50d1

pvcm50d11#

答案很愚蠢。由于某种原因,它没有显示req.file,但它仍然处理所有相同的内容。这真的让我很困惑,但我把我的代码改为官方的multer错误处理方式,https://www.npmjs.com/package/multer#error-handling

app.post('/profile', function (req, res) {
  upload(req, res, function (err) {
    if (err instanceof multer.MulterError) {
      // A Multer error occurred when uploading.
    } else if (err) {
      // An unknown error occurred when uploading.
    } else {
    // Everything went fine.
      console.log(req.file)
    }

  })
})

我可以在//Everything went fine部分看到它。这有点奇怪,所以如果有人知道原因,请告诉我

sczxawaw

sczxawaw2#

我也有这个问题与 Postman ,我切换到失眠和我的代码工作得很好。问题似乎是 Postman ,而不是multer。

相关问题