2

我正在使用 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() 。

想法?

4

1 回答 1

1

我无论如何都找不到这样做,但我们可以使用 Upstream 侦听器上传一个空文件,但随后它将在回调中返回并清空 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 
});

于 2016-10-25T22:03:21.420 回答