Node.js React Native POST”一词;“多部分表单数据”;500服务器错误

Node.js React Native POST”一词;“多部分表单数据”;500服务器错误,node.js,react-native,express,post,Node.js,React Native,Express,Post,当我试图将一个映像发布到我的Node/Express服务器(部署在Heroku上)时,我得到一个500服务器错误 通过邮递员发帖效果很好 以下是我的本机代码: upload = async uri => { const formData = new FormData(); formData.append("photo", { uri, name: `photo`, type: `image/jpg` }); const options = {

当我试图将一个映像发布到我的Node/Express服务器(部署在Heroku上)时,我得到一个500服务器错误

通过邮递员发帖效果很好

以下是我的本机代码:

upload = async uri => {
  const formData = new FormData();

  formData.append("photo", {
    uri,
    name: `photo`,
    type: `image/jpg`
  });

  const options = {
    method: "POST",
    body: formData,
    headers: {
      "Content-Type": "multipart/form-data"
    }
  };

  axios
    .post("https://prezzi-api.herokuapp.com/upload", formData, options)
    .then(response => {
      console.warn(response.data);
    })
    .catch(error => {
      console.warn("error uploading to OCR", error);
    });
};
我的快速路线如下所示:

router.post(
  "/",
  multer.single("image"),
  gcsMiddlewares.sendUploadToGCS,
  (req, res, next) => {
    console.log("post");
    if (req.file && req.file.gcsUrl) {
      return res.send(req.file.gcsUrl);
    }

    return res.status(500).send("Unable to upload");
  }
);
当我不使用邮递员时,我路线中的console.log不会被击中

  • 在上载函数中写入console.log({uri}),以便在 您获取uri的格式是什么
  • 从选项中删除主体

  • 我仔细查看了Express route中的
    res
    对象,以了解哪些有效,哪些无效,以下是React Native app的最终效果:

          uploadToOCR = async uri => {
           const formData = new FormData();
    
           formData.append("image", {
             uri,
             name: "photo.jpg",
             type: "image/jpg",
             headers: {
               Accept: "application/json",
               "Content-Type": "multipart/form-data"
             }
           });
    
        const options = {
          method: "POST",
          body: formData
        };
    
        try {
          const response = await fetch(
            "https://prezzi-api.herokuapp.com/upload",
            options
          );
          if (response) {
            // const json = await response.json();
            // console.warn("json", json);
            console.warn("response", response);
          }
        } catch (error) {
          console.warn("error uploading to OCR", error);
        }
     };
    
    1) console.log看起来像:
    对象{“uri”:file:///var/mobile/Containers/Data/Application/F4126F94-70FD-47A8-BC38-F2BD09215F0A/Library/Caches/ExponentExperienceData/%2540pivcec%252FPrezzi/Camera/03E523CD-748F-4808-8B7C-990CE2E003B6.jpg“,}
    2)正文已从选项中删除3)服务器错误持续存在