【问题标题】:multer 'filesLeft[file.fieldname]' undefinedmulter 'filesLeft [file.fieldname]' 未定义
【发布时间】:2017-05-24 06:59:03
【问题描述】:

我是 multer 新手,我正在尝试使用 multer 上传文件以表达服务器,客户端是 ReactJS:

快递 - 4.15.2 穆尔特 - 1.3.0 axios - 0.16.1 反应 - 15.5.4

客户端(ReactJS):

<form onSubmit={this.onFilesUpload} enctype="multipart/form-data">
    <input type='file' ref={(input) => this.filesInput = input} name='inputFile'/>
    <button type='submit' >upload</button>
</form>

我正在以表单数据的形式发送文件:

var data = new FormData();
const files = this.filesInput.files;
for(var key in files) {
     if (files.hasOwnProperty(key) && files[key] instanceof File) {
          data.append(key, files[key]);
        }
    }

在服务器端:

const express = require('express'),
      bodyParser = require('body-parser'),
      cors = require('cors'),
      router = require('./routes/router'),
      mongoose = require('mongoose'),
      multer = require('multer'),
      app = express();
....
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({dest: './public/uploads/}).single('inputFile));
app.use(bodyParser.json());
app.use(cors());
router(app);

我从 multer 模块代码中得到 LIMIT_UNEXPECTED_FILE 异常 - node_module\multer\index.js.

【问题讨论】:

    标签: reactjs express axios multer


    【解决方案1】:

    为了解决这个问题,更改了客户端代码:

    var data = new FormData();
    const inputFile = this.filesInput.files[0];
    data.append('file', inputFile);
    

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 2018-08-06
      • 1970-01-01
      • 2021-10-02
      • 2022-01-18
      • 1970-01-01
      • 2020-12-17
      • 2018-04-17
      • 2016-06-21
      相关资源
      最近更新 更多