[英]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.