我正在上傳一個帶有Angular的文件到我的節點服務器。有時圖像沒有上傳,我得到的服務器端req.files「未定義」,我無法弄清楚爲什麼。我認爲它與圖像的重量無關:上傳的圖像大約是48KB,而不是16KB。我附上了兩張快照,以顯示作品與其他作品(Chrome開發人員工具的網絡標籤)之間的時間差異(http post)。我可以看到,「時代」(「阻塞」,「發送」)在失敗的那個中並不重疊。也許是這個問題......但我不知道如何解決它。上傳文件Angular.js FormData
1
A
回答
1
我知道了。
我使用與延遲選項服務器端express.multipart「express.multipart({推遲:真})」
正因爲如此,有時執行到達了我管理的POST請求的代碼
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 =不確定:在express.multipart模塊形式的「結束」事件被觸發,其中模塊設置req.files之前得到用「req.files.file」的形象,只是因爲還沒有設定...
擺脫{defer:true}選項解決了我的問題。與一個或另一個圖像無關。
給您的文檔「推遲」,在express.multipart模塊選項:「推遲處理,並公開了強大的表單對象爲req.form
* next()
被稱爲無需等待形式的‘
結束’事件。 *例如,如果您需要綁定到「進度」事件,則此選項非常有用。「
相關問題
- 1. FORMDATA多文件上傳
- 2. 通過FormData上傳文件
- 3. 上傳文件(FormData)到WebApi
- 4. 使用FormData上傳文件
- 5. Jersey FormData,上傳多個文件數據
- 6. 如何使用Formdata上傳文件
- 7. Ajax文件上傳。發送FORMDATA
- 8. jQuery的文件上傳,指定FORMDATA
- 9. 沒有FormData的AngularJs文件上傳
- 10. Multipart/Formdata圖像上傳,獲取文件
- 11. Angular 2 http.post FormData()向PHP上傳文件
- 12. Safari通過FormData將文件上傳到服務器上文件上傳通過FormData
- 13. FORMDATA圖片上傳
- 14. xhr2文件上傳 - 使用formData訪問文件名
- 15. Yii使用Ajax上傳文件 - 傳遞數據數組(formData)
- 16. Ajax上傳 - 如何獲取FormData文件名與原始文件的文件名
- 17. 純JavaScript FORMDATA與文件和數據上傳的PHP端失敗
- 18. 使用FormData將文件上傳到Sails.js服務器
- 19. NGINX + Kestrel - 無法上傳multipart/formdata中的文件
- 20. 使用jQuery AJAX通過FormData上傳文件
- 21. 使用FormData上傳的文件在服務器端變爲空
- 22. 更改BlobBuilder中的文件名,作爲XHR上的FormData傳遞
- 23. 使用FormData JavaScript文件上傳麻煩,收回空$ _FILES
- 24. 通過AJAX的FormData文件上傳問題
- 25. 通過AJAX/FormData在後端使用coldfusion上傳文件
- 26. 如何使用formData在laravel上傳文件jquery ajax
- 27. 使用來自新Formdata的NPM請求上傳文件()
- 28. FormData對象,似乎沒有上傳我的文件...
- 29. 無法使用ajax與formdata上傳文件
- 30. 上傳文件和數據使用Ajax PHP FORMDATA提交XHR
如果沒有至少看到服務器端代碼,我們無法真正幫助您。 – mscdex 2014-09-24 13:28:52
它會發生在iOS8上嗎?因爲目前有一個關於文件上傳和FormData的錯誤。 – jpmorin 2014-09-24 13:45:03