如何判断POST请求是否包含要在Sails.js中上传的文件?

我使用sails.js创build后端,并支持在我的控制器方法之一中同时发布文本和上传文件/图像。 由于业务逻辑,我需要告诉如果这个控制器方法的POST请求包含file upload或不。

要上传文件,我使用sails.js中的内置Skipper 模块 ,并使用req参数中的file字段。 例如,如果我需要上载图像,则将请求中的images字段放在后端/ sails.js中:

 req.file('images').Upload({...}); 

我试图使用req.file('images')来检查传入的请求是否包含要上传的文件,但它不起作用 – 没有上传文件的请求仍然给出req.file('images') = true

 if (!!req.file('images')) { // this turns out to be true regardless of uploading file or not return uploadToS3(req, 'images'); } sails.log.info('creating entity without uploading file'); return createEntityWithoutImage(req.params.all()); 

任何想法如何判断一个POST请求包含file upload?

您可以使用以下方式查看用户上传的文件数量:

req.file('images')._files.length

这是队长的无证特征:

https://github.com/balderdashy/skipper/blob/master/standalone/Upstream/Upstream.js#L51

所以可以在未来的版本中贬低。 所以可以肯定的是,你不要先升级模块,