Sails JS文件上传;如何检查文件是否是输入?

Sails JS file upload; how to check if file is an input?

我正在使用 Sails JS v11.05。

文件上传不是必填字段。

如何检查文件是否已上传?

通常我用

if (!req.param('param')) {
   // param does NOT exist - was not uploaded
   // This does not apply to file input params.
}

// However, the following will break as it will start a listener (upstream)
if (!req.file('param')) {
   // File was not uploaded
}

我只想知道文件是否是输入,所以如果没有上传,我就懒得调用 req.file('file').upload()。

想法?

无论如何我都找不到这样做,但我们可以使用上游侦听器上传一个空文件,然后它会 return 并在回调中清空 uploadedFiles。

请注意,如果您 运行 req.file('file_input') 您可能会在调用侦听器时终止节点服务器。

有关详细信息,请参阅 https://www.npmjs.com/package/skipper

解决方法

req.file('file_input').upload(options, function (err, uploadedFiles) {
        if (err) return cb(err);
        if (_.isEmpty(uploadedFiles)) return cb();
        // A file was attached do 
});