在iOS 8.0.0 GM Safari上通过HTTP上传文件失败

时间:2014-09-11 15:00:34

标签: ios safari mobile-safari ios8

更新:
已确认:已在 iOS 8.0.2 更新中修复此问题。

使用PUT / POST通过HTTP上传文件似乎在iOS 8 GM版本的移动版Safari上卡在发送请求标题上。

我有example here

  • 在桌面上打开HTTP监视器并路由您的iOS 8设备 通过它
  • 登录
  • 添加文件
  • 点击上传
  • 它在初始化(发送请求标题)上停滞不前(

即使在http://m.facebook.com上也是如此 - 尝试将照片添加到您的状态,然后失败。

当请求包含文件时,只发生 。无论在文件输入中启用/禁用多个,这都是可重现的。上传功能可在iOS 8上的Chrome上正常运行。

其他人也有过这样的经历吗?有没有办法在iOS 8 Safari上通过HTTP成功发送文件?

4 个答案:

答案 0 :(得分:22)

这是iOS 8.0.0中的一个错误,已在8.0.2中修复。文件正文不包含在请求有效内容中,但Content-Length设置为好像。

请参阅博文 File uploads appear to be broken in Safari on iOS 8

答案 1 :(得分:10)

更新:Apple昨天发布了iOS 8.0.2并修复了上传错误。

iOS 8.0中的文件上传已中断。在Mobile Safari中上传的所有文件都返回0大小[1]。

希望Apple在下一个版本中解决这个问题。它似乎并没有影响主屏幕webapps:

  

文件上传被破坏!!每个文件上传都不起作用,您可以选择文件或拍照,然后JavaScript将无法获取任何数据,以及通过HTML或XMLHttpRequest上传POST上传的服务器。这个问题似乎不适用于主屏幕webapps。

来源:http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers

[1] http://blog.fineuploader.com/2014/09/10/ios8-presents-serious-issues-that-prevent-file-uploading/

答案 2 :(得分:6)

我们在WordPress中看到类似的问题。所有iOS8 GM上传都会导致408(http状态,超时)。奇怪的是,iOS8b5导致错误500。在7.1。*。

下上传是很好的

https://core.trac.wordpress.org/ticket/29602#comment:17

答案 3 :(得分:0)

实际上,如果图像来自屏幕截图而不是来自iphone相机,则文件上传在IOS 8(safari)上正常工作。例如,如果您从iphone上的相机拍摄照片并尝试通过浏览器上传文件(输入类型=文件),它将发送一个空数据
src:“data:,”

如果您将相同的图片发送到您的电子邮件并从您的电子邮件中下载并再次上传它可以正常工作,或者如果您拍摄屏幕截图照片,它的工作原理如下 SRC:“数据:图像/ JPEG; BASE64,/ 9J / 4AAQSkZJRgABAQAASABIAAD / 7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs + EJ + / 8AAEQgGYATIAwEiAAIRAQMRAf / EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkK ....# ......“

任何想法或暗示请告诉我们。 Angluar JS用于服务器上的文件上传和NodeJS 问候, 艾伦梅希奥