[英]Postman Post request to NodeJS server does not give me the files properties
早上好。 我正在开发一个带有项目的投资组合应用程序。 我做了一个 mongoDB 数据库和一个 NodeJS 并表达了与这个数据库的连接。 我正在做一个 controller 的方法允许我将图像上传到数据库。 我做了这个方法,但是当我将它与PostMan一起使用时,图像被上传到我指定的文件夹,但是文件arguments没有出现,我需要然后上传到数据库。
我上传代码
Controller
uploadImage: function(req, res){
var projectId = req.params.id;
var fileName = "Imagen no subida...";
if(req.files){
return res.status(200).send({
files: req.files
});
}else{
return res.status(200).send({
message: fileName
});
}
}
路线
'use strict'
var express = require('express');
var ProjectController = require('../controllers/project');
var router = express.Router();
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart({ uploadDir: './uploads' });
router.get('/home', ProjectController.home);
router.post('/test', ProjectController.test);
router.post('/save-project', ProjectController.saveProject);
router.get('/project/:id', ProjectController.getProject);
router.get('/projects', ProjectController.getProjects);
router.put('/project/:id', ProjectController.updateProject);
router.delete('/project/:id', ProjectController.deleteProject);
router.post('/upload-image/:id', multipartMiddleware ,ProjectController.uploadImage);
module.exports = router;
应用程序.js
'use strict'
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
// cargar archivo Rutas
var routes = require('./routes/project');
// Middlewares
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
// CORS
// Rutas
app.use('/api', routes);
// exportar
module.exports = app;
PostMan
我使用表单数据并添加图像。
回复:
{
"files": {}
}
我认为在 JSON 文件中,有不同的参数可以将图像上传到数据库,例如 filePath、fileName ...
提前致谢
谢谢您的回答。 我做了这两件事,但是当我做console.log(req.files)
时,响应是{}
,当我做console.log(req.files.file)
时,响应是undefined
。 我不知道会发生什么,我使用的是 .jpg 扩展图像。
再次谢谢你
谢谢你。 我向您发送 PostMan 请求的图像。 我将您发送到 i.stack 中,因为这是我发送图像的唯一方法。 [:[[1]: https://i.stack.imgur.com/NHDog.png][1]][1]
编码:
// Multer
const storage = multer.diskStorage({
destination: function(req, res, cb){
cb(null, './uploads')
},
filename: function(req, file, cb){
cb(null, file.fieldname + "-" + Date.now())
}
})
const upload = multer({ storage: storage });
function:
uploadImage: function(req, res, next){
console.log(req.file);
}
请求:
router.post('/upload-image/:id', upload.single('image'), ProjectController.uploadImage);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.