我试图使用multer在express服务器中上载图像,但是,使用postman上载图像时,使用下面的路由会给出json消息{msg:'image uploaded successed'}
(即正确到达了路由),但是req.file
给出undefined
。为什么?相关的文件结构如下所示,以确保我正确引用了目的地:
UploadRoutes.js
import path from 'path';
import express from 'express';
import multer from 'multer';
const router = express.Router();
const storage = multer.diskStorage({
destination(req, file, cb) {
cb(null, 'uploads');
},
filename(req, file, cb) {
cb(
null,
`${file.fieldname}-${Date.now()}${path.extname(file.originalname)}`
);
},
});
function checkFileType(file, cb) {
const filetypes = /jpg|jpeg|png/;
const extname = filetypes.test(path.extname(file.originalname).toLowerCase());
const mimetype = filetypes.test(file.mimetype);
if (extname && mimetype) {
return cb(null, true);
} else {
cb('Images only!');
}
}
const upload = multer({
storage,
fileFilter: function (req, file, cb) {
checkFileType(file, cb);
},
});
router.post('/', upload.single('image'), (req, res) => {
console.log(req.file);
try {
res.status(200).json({ msg: 'image uploaded successfully' });
} catch (error) {
console.error(error.message);
}
// res.send(`/${req.file.path}`);
});
export default router;
只需检查头
和正文form-data
请求,因为如果应用程序文件中有这一行,您的代码是正确的
app.use("/uploads", express.static("uploads"));
请求标头
我已经看了很多这个问题的答案,但我还没有找到一个可行的解决方案。我正在尝试制作一个Web应用程序,您可以使用Express和multer上传文件,我有一个问题,没有文件正在上传,req.file总是未定义。 下面是我的代码 表格 非常感谢帮助,这快把我逼疯了。
除了图像文件之外,所有的数据都被发送到后端。我一直得到req.file是未定义的,这阻止了数据存储在数据库中。 在前端,我有一个表单,收集来自用户的输入,包括一张照片和一个文本描述。这是在一个组件文件中。
我正在尝试使用Express 4.0上传单个图像文件文本字段 1) 穆特的要求。车身要求。如果登录控制台,则未定义文件对象 2)res.json(测试时也res.send)获取错误-TypeError:res.json不是Object.handle的函数) multer使用力矩配置如下。js表示日期,几乎是multer Github文档中的一行对一行: 这是客户端表单 我做错了什么?
问题内容: 我试图得到一个简单的文件上传机制的工作与快车4.0,但我不断收到对在体内。以下是相关代码: ..和随附的帕格代码: 解决方案 由于以下mscdex的响应,我已切换为使用而不是: 问题答案: 该模块仅处理JSON和urlencoded表单提交,而不是多部分提交(如果您要上传文件,情况就是如此)。 对于multipart,您需要使用诸如或或(multiparty / formidable是
我正在尝试上传文件使用react和axios到节点后端使用Multer。 当我将表单用作: 它工作得很好,但当使用axios时,文件是未定义的: 我将axios用作: 我后端如下: 有谁能帮我一下吗?我真的被卡住了。我需要在后端上传图像。
我收到此意外错误nodejs(Express)。每当我需要控制台时。文件或请求。文件,未定义为控制台 三个文件如下: 用于注册 处理所有multer配置 所有文件的父级