文件没有正确上传

编辑:编辑它使用米哈伊尔的build议。 更接近解决scheme

嗨,我想上传一个JSON文件使用nodejs,但由于某种原因,它说我的文件是未定义的。 一个文件出现在我的公用文件夹中,其中包含上传文件的内容。 我想知道是否有人能帮助我。 谢谢

这是HTML

<form method="post" enctype="multipart/form-data" action="/file-upload"> <input type="file" name="theFile" > <input type="submit" class = "submit"> </form> 

编辑:这是server.js

  app.post('/testtwilio',upload.single('theFile'),function(req, res, next) { console.log('FIRST TEST: ' + req.file); }); 

这是JSON文件

 [{"name":"FIRST LAST","date":"12/22/2016","number":"7523924324"}] 

这是什么被logging

 FIRST TEST: [object Object] 

将您的JSON.stringify(req.files)更改为JSON.stringify(req.file)

完整的代码

HTML

 <form id = "uploadForm" enctype = "multipart/form-data" action = "/api/file" method = "post"> <input type="file" name="userFile" /> <input type="submit" value="Upload File" name="submit"> </form> 

JS

 var express = require('express') var multer = require('multer') var upload = multer({ dest: 'uploads/' }) var app = express() app.get('/',function(req,res){ res.sendFile(__dirname + "/index.html"); }); app.post('/api/file', upload.single('userFile'), function (req, res, next) { console.log(JSON.stringify(req.file)) }) app.listen(3000,function(){ console.log("Working on port 3000"); }); 

注意:

您在multer.single()方法中使用的文件名应与input中的名称匹配<input type="file" name="userFile" />

如果使用.single(...)方法,则该文件将位于req.file