【问题标题】:RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: ENOENTRangeError [ERR_HTTP_INVALID_STATUS_CODE]:无效状态代码:ENOENT
【发布时间】:2023-02-11 20:38:35
【问题描述】:

使用 multer 保存图像时出现此错误。 我正在尝试使用 FormData 通过获取 API 在 POST 请求中发送图像。所以后端向我发送此错误,并且由于后端不正确的响应,前端向我发送意外令牌 < 在位置 0。

这是我的代码:

const multer = require('multer');
const path = require('path');
const { v1: uuidv1 } = require('uuid');

const MIME_TYPE_MAP = {
    'image/png': 'png',
    'image/jpeg': 'jpeg',
    'image/jpg': 'jpg'
}

const fileUpload = multer({
    limits: 500000,
    storage: multer.diskStorage({
        destination: (req, file, cb) => {
            cb(null, path.join(__dirname, 'uploads/images'));
        },
        filename: (req, file, cb) =>  {
            const ext = MIME_TYPE_MAP[file.mimetype];
            cb(null, uuidv1() + '.' + ext);
        }
    }),
    fileFilter: (req, file, cb) => {
        const isValid = !!MIME_TYPE_MAP[file.mimetype];
        const error = isValid ? null : new Error('Invalid mime type!');
        cb(error, isValid);
    }
});

module.exports = fileUpload;

在这里我使用上面的代码:

const express = require("express");
const { body } = require("express-validator");

const fileUpload = require('../middleware/file-upload');

const router = express.Router();

router.post(
  "/signup",
  fileUpload.single('image'),
  body("name").not().isEmpty(),
  body("email").normalizeEmail().isEmail(),
  body("password").isLength({ min: 6 }),
  (req, res) => {
    res.json({user: req.body})
  }
);

module.exports = router;

前端:

const formData = new FormData();
formData.append('name', formState.inputs.name.value);
formData.append('email', formState.inputs.email.value);
formData.append('password', formState.inputs.password.value);
formData.append('image', formState.inputs.image.value);

const responseData = await fetch(
  "http://localhost:5000/api/users/signup",
  {
    method: "POST",
    body: formData
  }
);

谢谢你帮助我。

【问题讨论】:

    标签: javascript node.js multer form-data


    【解决方案1】:

    你找到答案了吗?因为我现在有完全相同的问题......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2018-08-18
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多