javascript – multer – req.file始终未定义

我已经看了很多答案,但我还没有找到一个工作的解决方案.我试图制作一个网络应用程序,您可以上传文件到使用express和multer,我有一个问题,没有上传文件,req.file总是未定义.

我的代码如下

'use strict';

var express = require('express');
var path    = require('path');
var multer  = require('multer')
var upload  = multer({ dest: 'uploads/' })

var app = express();
require('dotenv').load();

app.use(express.static(path.join(__dirname,'main')));

app.post('/upload',upload.single('upl'),function (req,res,next) {
  // req.file is the `avatar` file
  // req.body will hold the text fields,if there were any
  console.log(req.file);
  res.status(204).end();
})

var port = process.env.PORT || 8080;
app.listen(port,function () {
    console.log('Node.js listening on port ' + port + '...');
});

表格

<form class="uploadForm" action="/upload" method="post" enctype="multipart/formdata">
        <label class="control-label">Select File</label>
        <input name="upl" id="input-1" type="file" class="file">
        <input type="submit" value="submit" />
    </form>

帮助非常感谢,这让我疯狂.

解决方法

您的enctype略有不正确,应该是multipart / form-data而不是multipart / formdata.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...