簡體   English   中英

NodeJS Multer在上傳之前驗證字段

[英]NodeJS Multer validate fields before upload

我正在嘗試驗證我的表單,然后再上傳圖像,但是中間件上出現空字符串

const upload = multer({
  storage: storage
});

router.post('/upload', formsValidation, upload.fields([{

  name: 'images',
  maxCount: 20

}, {

  name: 'imageMain',
  maxCount: 1

}]), function(req, res, next) {
  code...

});

這是我的中間件:

function formsValidation (req, res, next) {

  console.log(req.body) //getting empty array here
  return next();
}

我知道我可以使用來自multer的fileFilter,但有時我沒有任何圖像可以上傳僅字符串來存儲和驗證,我試圖將req.body從multipart / form-data解析為字符串,然后驗證並使用next()但是我遇到范圍錯誤,任何想法我該如何解決?

這是來自Multer的文檔

請注意,req.body可能尚未完全填充。 這取決於客戶端將字段和文件傳輸到服務器的順序。

這意味着您必須在multer midlleware之后立即調用formsValidation ,以確保已完全填充所有發布的數據

router.post('/upload', upload.fields([{

    name: 'images',
    maxCount: 20

}, {

    name: 'imageMain',
    maxCount: 1

}]), formsValidation, function(req, res, next) {
    code...
});

暫無
暫無

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

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