簡體   English   中英

如何判斷 POST 請求是否包含要在 Sails.js 中上傳的文件?

[英]How to tell if a POST request contains files for uploading in Sails.js?

我使用sails.js來創建后端,它支持在我的一種控制器方法中同時發布文本和上傳文件/圖像。 由於業務邏輯,我需要判斷對此控制器方法的 POST 請求是否包含用於上傳的文件。

為了上傳文件,我使用了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 請求是否包含要上傳的文件嗎?

您可以使用以下方法檢查用戶上傳的文件數:

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

這是船長的未記錄功能:

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

所以它可以在未來的版本中被棄用。 所以請確保,在沒有先測試模塊的情況下,不要升級模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM