nodejs+multer无法上传文件

html代码

  <form method="post" class="upload" action="/jsreview/upload" enctype='multipart/form-data'>
     <input type="file"  name='jsfile' accept="text/javascript,application/javascript"/>
     <input type="submit" />
  </form>

js代码:

var multer = require('multer');
var upload = multer({dest:__dirname+'/files/'});
var app = express();
app.use(express.static('./'));
app.get('/jsreview',function(req,rsp){
    rsp.sendfile('./index.html');
});
app.post('/jsreview/upload',upload.single('jsfile'),function(req,rsp){
    console.log(req.body,req.files);
    rsp.send('success');
});
app.listen(12345);

选择好文件并点击提交按钮后,console.log输出的是{}与undefined。我抓了下包显示

Request Payload:

------WebKitFormBoundary3bQrxuFKQA21XmiJ
Content-Disposition: form-data; name="jsfile"; filename="新建文本文档.js"
Content-Type: application/javascript

------WebKitFormBoundary3bQrxuFKQA21XmiJ--

大神们帮我看看问题出在哪。

阅读 4.1k
1 个回答

我测了一下我这没有问题可以上传;

你查查你的__dirname有没有赋对;

先改成试下 var upload = multer({dest:'upload/files'});

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题