Sails JS检查是否发送了上传文件

时间:2014-12-24 17:04:09

标签: javascript node.js sails.js skipper

使用Sails JS上传文件时,如果没有随请求一起发送文件,服务器会崩溃,考虑到这是控制器操作:

function(req, res) {
  req.file('testFile').upload(function() {
    // do something...
  });
}

我试过检查标题,但是发送的文件之间似乎没有区别。

我正在寻找类似的东西:

function(req, res) {
  if(file sent) {
    req.file('testFile').upload(...);
  } else {
    // file was not sent, do something else
  }
}

有没有办法可以在同一个API上实现上传或不上传文件的行为?

2 个答案:

答案 0 :(得分:0)

我认为这就是你正在寻找的东西

req.file('testFile').upload(function (err, uploadedFiles){
  if (err) return res.send(500, err);

  return res.send(200, uploadedFiles);
});

答案 1 :(得分:0)

这并不能完全回答你的问题,但至少它是一个解决方案:

req.file('testFile').upload(function (err, uploadedFiles){
   if (err) return res.send(500, err);
   if (uploadedFiles.length < 1) {
      return res.badRequest('file missing or could not be uploaded');
   }
   return res.send(200, uploadedFiles);
 });

uploadedFiles包含一系列成功上传的文件,它们可用。