如何判断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
所以可以在未来的版本中贬低。 所以可以肯定的是,你不要先升级模块,