第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使“app.post”函數(shù)中的 if 語句起作用

無法使“app.post”函數(shù)中的 if 語句起作用

繁花不似錦 2023-06-09 14:45:32
在我正在處理的項目/網(wǎng)絡應用程序中,用戶可以創(chuàng)建新帖子。他們創(chuàng)建的帖子中需要文本,照片是可選的。我希望相關的 app.post 語句根據(jù)帖子中是否包含圖片來執(zhí)行不同的操作。這是我的代碼:app.post('/posts/store', async(req,res)=>{            if(req.files.image===null){      await BlogPost.create({...req.body,userid:req.session.userId});    res.redirect('/')           }       else {    let image = req.files.image;    image.mv(path.resolve(__dirname, "public/img",image.name),async(error)=>{    await BlogPost.create({...req.body, image:"/img/"+image.name, userid:req.session.userId});    res.redirect('/')     });   };})如果帖子中沒有包含圖像,則不應有 req.files.image 這樣的值。我的想法是有一個“if 語句”來檢查這個值是否存在,如果不存在,那么將遵循相關邏輯以便發(fā)布帖子。如果包含圖像,則需要不同的邏輯,這由 else 語句涵蓋。我嘗試了“if(req.files.image===null)”的變體,但沒有任何效果。我收到錯誤消息“UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'image' of null”。但是,如果上傳了圖片,代碼確實有效(代碼首先跳過“if”并轉(zhuǎn)到“else”指令)。如果我用明顯真實的陳述替換“req.files.image===null”,然后我上傳一篇沒有照片的博文,代碼也能正常工作。有了這個,我想我至少已經(jīng)查明了錯誤所在 - 在代碼的'if(req.files.image === null)'行中 - 而不是代碼中的其他任何地方,但我仍然無法弄清楚如何要解決這個問題。
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經(jīng)驗 獲得超22個贊

你在使用任何中間件嗎?

在 Express 4 中,默認情況下 req.files 在 req 對象上不再可用。要訪問 req.files 對象上的上傳文件,請使用多部分處理中間件,如 busboy、multer、formidable、multiparty、connect-multiparty 或 pez。

好像req.files是空的。嘗試

if(!req.files || !req.files.image) {

? // req.files.image == null

} else {

? // req.files.image != null

}


查看完整回答
反對 回復 2023-06-09
?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

您可能正在使用 multer(或類似的)庫來處理文件的表單數(shù)據(jù)上傳。req.files如果給定文件,這些庫通常只會填充該字段。如果不是,它將是undefined。您應該擴展檢查并查看是否req.files存在,例如:


if(!req.files || req.files.image === null) {

  await BlogPost.create({...req.body,userid:req.session.userId});

  res.redirect('/') 

}


查看完整回答
反對 回復 2023-06-09
  • 2 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號