【问题标题】:express file upload returning 400 errorexpress 文件上传返回 400 错误
【发布时间】:2013-11-14 00:19:27
【问题描述】:

我有一个快速应用程序需要处理文件上传,但由于某种原因它无法正常工作。我收到一条神秘的错误消息(nodejitsu/local),我不知道出了什么问题。

这是我的路线:

var routes = require('../routes');

module.exports = function(app) {
  app.get('/', routes.index);
  app.get('/import', routes.import.form);
  app.post('/import/upload', routes.import.submit);
};

这是我的功能:

exports.import = {
    form: function(req, res) {
        renderTemplate(res, 'form');
    },
    submit: function (req, res) {
        res.send(console.dir(req.files));
    }
}

这是我的 HTML:

<form role="form" action="/import/upload" method="post" enctype="multipart/form-data">
  <div class="form-group">
    <label for="exampleInputFile">Upload</label>
    <input type="file" id="csvFile">
    <p class="help-block">Please select .csv file.</p>
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

这是错误信息:

Error: Expected CR Received 45
at Form._write (/opt/run/snapshot/package/node_modules/express/node_modules/connect/node_modules/multiparty/index.js:187:49)
at doWrite (/opt/run/snapshot/package/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_writable.js:262:12)
at writeOrBuffer (/opt/run/snapshot/package/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_writable.js:249:5)
at Form.Writable.write (/opt/run/snapshot/package/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_writable.js:196:11)
at write (_stream_readable.js:583:24)
at flow (_stream_readable.js:592:7)
at _stream_readable.js:560:7
at process._tickCallback (node.js:415:13)

【问题讨论】:

    标签: node.js express nodejitsu


    【解决方案1】:

    您的 input[type=file] 没有 name 属性,这会扰乱 Express/Connect。

    所以试试这个:

    <input type="file" id="csvFile" name="csvFile">
    

    【讨论】:

    • 感谢您提供这个小而重要的信息。你拯救了我的一天......为此奋斗了好几个小时......
    • @robertklep:有什么办法可以正确处理这种情况吗?我不想向用户显示此错误。我在我的 REST API 中遇到了这个问题。
    • @TamilVendhan 不要使用express.bodyParser,您可以使用connect-busboy,这似乎在这种情况下问题较少。
    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多