簡體   English   中英

上傳文件Angular.js FormData

[英]Uploading file Angular.js FormData

我將Angular文件上傳到我的Node服務器。 有時,該圖像未上傳,並且我在服務器端收到了req.files“ undefined”,我不知道為什么。 我認為這與圖像的重量無關:上傳的圖像約為48KB,而不是16KB。 我附上兩個快照,以顯示一個可行的快照和另一個快照(Chrome開發者工具的“網絡”標簽)之間的時間差異(http發布)。 我可以看到,“時間”(“阻塞”,“發送”)在發生故障的那一時刻並沒有重疊。 也許是問題所在...但是我不確定如何解決。

未上傳的帖子中的時間

在此處輸入圖片說明

我知道了。

我在服務器端使用帶有延遲選項“ express.multipart({defer:true})”的express.multipart

因此,有時執行到達代碼,在express.multipart模塊的表單“結束”事件觸發之前,我管理發布請求以使用“ req.files.file”獲取圖像,該模塊在其中設置req.files:

form.on('end', function(){ if (done) return; try { req.body = qs.parse(data); **req.files = qs.parse(files);** if (!options.defer) next(); } catch (err) { form.emit('error', err); } });

因此有時req.files.file =未定義,僅僅是因為尚未設置...

擺脫{defer:true}選項可以解決我的問題。 與一個或另一個圖像無關。

在這里,您是express.multipart模塊中“ defers”選項的文檔:

“推遲處理並將Formidable表單對象公開為req.form 。* next()的調用無需等待表單的“ end”事件。*例如,如果需要綁定到“ progress”事件,則此選項很有用。 “

暫無
暫無

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

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