首页 > 解决方案 > 图片上传期间出现“加载资源失败:net::ERR_CONNECTION_RESET”错误

问题描述

当我尝试将图像上传到云数据库时,我收到了标题中所述的错误。它以前工作得很好,我没有改变任何东西。如果有人知道可能出了什么问题,我将不胜感激。我还将包括处理图像上传的服务器端代码和服务抛出的错误,以防问题出在哪里,谢谢。

表格

       <form id = "register" class = "add-slide" enctype = "multipart/form-data">
            <div>
                <label>Caption:</label>
                <input type = "text" name = "acaption" id = "acaption" placeholder = "Caption">
            </div>
            <div>
                <label>Summary:</label> 
                <input type = "text" name = "asummary" id = "asummary" placeholder = "Summary">
            </div>

            <div>
                <label>Image:</label>
                <input type = "file" name = "image">
            </div>

            <input type = "submit" name = "register" value = "Add Slide">
        </form>

JS 处理程序

const addSlide = document.querySelector(".add-slide");

addSlide.addEventListener("submit", function (e) {
  e.preventDefault();

  const formData = new FormData(this);
  const fileField = document.querySelector('input[type="file"]');

  formData.append("image", fileField.files[0]);

  fetch("/images", {
    method: "POST",
    body: formData,
  })
    .then((response) => response.json())
    .then((rdata) => {
      const data = {
        caption: acaption.value,
        summary: asummary.value,
        photo: rdata.URL,
      };

      fetch("/admin/home/slides", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: JSON.stringify(data),
      })
        .then((response) => response.json())
        .then((rdata) => {
          console.log(JSON.stringify(rdata.Message));
          location.reload(true);
        })
        .catch((error) => {
          console.log(error);
        });
    })
    .catch((error) => {
      console.log("Operation Failed");
    });
});

服务器代码

api.post("/images", cors(), parser.single("image"), (req, res) => {
  try {
    const events = JSON.parse(JSON.stringify(req.file));
    const url = events.path;

    if (url) {
      res.status(200).send({ URL: url });
    } else {
      res.status(400).send({ Error: "Operation Failed" });
    }
  } catch {
    res.status(500).send({ Error: "Server Error" });
  }

服务器错误

C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\multer\lib\make-middleware.js:144
        storage._handleFile(req, file, function (err, info) {
                ^

TypeError: storage._handleFile is not a function
    at C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\multer\lib\make-middleware.js:144:17
    at allowAll (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\multer\index.js:8:3)
    at wrappedFileFilter (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\multer\index.js:44:7)
    at Busboy.<anonymous> (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\multer\lib\make-middleware.js:114:7)
    at Busboy.emit (events.js:182:13)
    at Busboy.emit (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\busboy\lib\main.js:38:33)
    at PartStream.<anonymous> (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\busboy\lib\types\multipart.js:213:13)
    at PartStream.emit (events.js:182:13)
    at HeaderParser.<anonymous> (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\dicer\lib\Dicer.js:51:16)
    at HeaderParser.emit (events.js:182:13)
    at HeaderParser._finish (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\dicer\lib\HeaderParser.js:68:8)
    at SBMH.<anonymous> (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\dicer\lib\HeaderParser.js:40:12)
    at SBMH.emit (events.js:182:13)
    at SBMH._sbmh_feed (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\streamsearch\lib\sbmh.js:159:14)
    at SBMH.push (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\streamsearch\lib\sbmh.js:56:14)
    at HeaderParser.push (C:\Users\JOSHUA\Downloads\Nama-857d1e9caaf7a06a5476dcee2254d96b96a99656\cms\node_modules\dicer\lib\HeaderParser.js:46:19)

标签: javascriptexpressimage-uploadhttp-error

解决方案


推荐阅读