【问题标题】:sails skipper: how to check if file was uploaded or not帆船长:如何检查文件是否已上传
【发布时间】:2015-03-27 08:21:55
【问题描述】:

我正在使用sails 0.10.5,它使用skipper进行文件上传。现在我有一个用户可以上传文件的表单。但是,文件上传不是强制性的。在后端,我需要检查文件是否已上传。

我的代码是这样的:

if(req.file('img')){
  req.file('img').upload({
    maxBytes: 10000000
  }, function (err, uploadedFiles){
    if(err){
      return res.json(500, err);
    }
    else if(uploadedFiles.length === 0){
      return res.json(500, {"error": "no file uploaded"});
    }
    else{
        // do something with image
    }
  });
}
else {
    // proceed without image
}

没有上传图片时出现以下错误:

Error: EMAXBUFFER: An Upstream (`NOOP_img`) timed out before it was plugged into a receiver. It was still unused after waiting 4500ms. You can configure this timeout by changing the `maxTimeToBuffer` option.
    at null.<anonymous> (/home/mandeep/projects/thirstt/node_modules/sails/node_modules/skipper/standalone/Upstream/Upstream.js:86:15)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

第一个 if 条件总是被评估为真。如何检查用户是否没有上传任何文件?

【问题讨论】:

    标签: node.js sails.js


    【解决方案1】:

    将我的代码更改为

    req.file('img').upload({
      maxBytes: 10000000
    }, function (err, uploadedFiles){
      if(err){
        return res.json(500, err);
      }
      else if(uploadedFiles.length === 0){
        // proceed without files
      }
      else{
        //  handle uploaded file
      }
    });
    

    现在它工作正常

    【讨论】:

    猜你喜欢
    • 2015-03-24
    • 1970-01-01
    • 2021-08-14
    • 2022-01-21
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    相关资源
    最近更新 更多