风帆船长默默地失败了

Sails skipper fails silently

使用从 docs 复制和粘贴的代码,上传没有引发任何错误(事实证明,如果有错误,它会 return 一个 HTTP 状态500 连同错误消息)。

req.file('avatar').upload(function (err, uploadedFiles) {
    if (err) return res.send(500, err);
    return res.json({
        message: uploadedFiles.length + ' file(s) uploaded successfully!',
        files: uploadedFiles
    });
});

然而,uploadedFiles 最终长度为 0。

我正在使用本地磁盘适配器。

有没有想过可能出了什么问题?

来自skipper github。它不会 class 空内容长度作为错误。它只是跳过了所有硬体解析工作。

if (
  // If we have a content-length header...
  !_.isUndefined(req.headers['content-length']) &&
  // And the content length is declared to be zero...
  (req.headers['content-length'] === 0 || req.headers['content-length'] === '0')) {
  // Then we set the body to any empty object
  // and skip all this body-parsing mishegoss.
  req.body = {};
  return next();
}