上传文件时如何获得201状态?

How to get 201 status when uploading a file?

我正在使用 node.js(express && multer)和 mongodb 构建一个 React 应用程序。 当我上传图片时 - 文件存储在文件夹中,对象在 mongodb 中创建,但我得到 200 状态而不是 201。 我应该添加什么以获得正确的状态?

     fetch("http://localhost:8080/addItems", {
       method: "POST",
       body: data,

   })
     .then(res => res.status !== 201 ? setFileExistsError(true) : setFileExistsError(false))
     };

return(
<>
        {fileExistsError && <p className="errorMsg">Item already exists</p>}
</>
)

我已经在我的 node.js 上尝试了一个带有 201 状态代码的 post 请求 - 响应代码并且成功了。您的 node.js 代码应该告诉您的反应代码状态为“201”。

  1. 首先,对于你的 node.js,它应该是这样的:
app.post("/addItems", function(req, res){
  myCollection.create(req.body).then(() => {
    res.status(201).end();
  });
});
  1. 然后,使用您的 react.js(在您的代码中 data 之后有额外的逗号,在 then 下有额外的大括号。您也应该清理它们):
fetch("/addItems", {
  method: "POST",
  body: data
})
.then ((res) => {
  if (res.status !== 201) {
    setFileExistsError(true);
  } else {
    setFileExistsError(false);
  }
})

return(
<>
   {fileExistsError && <p className="errorMsg">Item already exists</p>}
</>
)