【问题标题】:Node.js has stopped uploadingNode.js 已停止上传
【发布时间】:2014-07-18 19:57:48
【问题描述】:

我很茫然,最近我的 express 4 应用程序停止上传了。任何上传文件的尝试都会导致“上传:0%”,它只是挂在那里,下面的事件都没有触发,所以我什至不会收到错误。

router.post('/uploader', function(req, res){
  var form,realFileName;
  form = formidable.IncomingForm();
  form.uploadDir = path.join(__dirname, '../' + opts.uploadDir);
  form.maxFieldsSize = 1000 * 1024 * 1024;
  form.keepExtensions = true;
  form.type = 'multipart';

  form.on('fileBegin', function(err, file){
    file.path = form.uploadDir + "/" + file.name;
    realFileName = file.name;
  });

  form.on('file',function(name, file){
  });

  form.on('error', function(err){
    res.render('uploader',{title: 'Upload Error'});
  });

  form.on('end', function (err, file){
    res.render('uploader',{title: 'Upload Success'});
  });
//res.render('uploader',{title: 'Upload Success'});
});

表格:

<form action="/uploader" method="post" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SIZE" value="104857600">
  <input type="file" name="uploadCsv">
  <input type="submit" value="Upload CSV">
</form>

【问题讨论】:

    标签: node.js express formidable


    【解决方案1】:

    您需要在设置事件后致电form.parse(req);

    form.on('end', function (err, file){
      res.render('uploader', {title: 'Upload Success'});
    });
    
    // --> Missing: "Start parsing the form":
    form.parse(req);
    

    有关完整示例,请参阅 Formidable's example

    【讨论】:

      猜你喜欢
      • 2012-10-04
      • 1970-01-01
      • 2011-04-06
      • 2013-09-09
      • 2013-08-30
      • 2023-04-09
      • 2019-01-06
      • 1970-01-01
      • 2013-03-13
      相关资源
      最近更新 更多