我正在上传一个带有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