iOS 8 Beta 5 Safari 多张照片上传
Posted
技术标签:
【中文标题】iOS 8 Beta 5 Safari 多张照片上传【英文标题】:iOS 8 Beta 5 Safari Multiple Photo Upload 【发布时间】:2014-08-26 16:25:34 【问题描述】:我们有一个移动网络应用程序,它使用 html 输入标签进行一些照片上传,如下所示:
<input type='file' accept='image/* name='takeMult[]'/>.
这适用于所有以前的 ios Safari 版本(6.0 及更高版本)。有其他人在 Beta 中看到过这个吗?我们将它包装在一个 jquery 小部件中,这可能是问题所在,因为在 iOS 8 beta 上已经注意到 jquery mobile 存在问题,但我认为它们已在最新的 beta 中得到修复。如下从查询小部件中删除它也失败了:
<input type='file' multiple='multiple'>
不再允许选择多张照片。对话框出现,它不会让你选择图像。有没有人有解决方法或听说移动 safari 或照片/文件输入有任何变化?
编辑: 我已经在多台设备和 xCode 6 上的 iOS 8 Beta 模拟器上确认了此问题。我已就该问题向 Apple 提交了错误报告。 Beta 6 仅发布给运营商,因此没有消息是否在该版本中修复。如果有人在Apple没有解决问题的情况下有解决方法,仍然希望得到一些反馈。
【问题讨论】:
相同的基本问题(iOS 文件系统),不同的场景。 【参考方案1】:解决方法是在文件输入元素中省略multiple
属性。当然,这会阻止您一次选择多个文件,但这总比不能选择任何文件要好。
iOS7 中还有另一个较老的错误,也与multiple
属性有关。在这种情况下,当设置此属性时,视频文件上传请求将为空(0 大小)。不要打赌这会在 iOS8 发布之前得到修复。
【讨论】:
Ray:我遇到的处理单个文件上传的最常见方法是使用 Filereader() javascript 对象。由于苹果更改文件系统架构的方式,这在设备上也失败了。我知道你提到的视频错误。您是否尝试过使用带或不带 filereader() 对象的单张照片上传? FileReader 不用于上传文件,仅用于在客户端读取其内容,如果您只打算上传文件,则不需要。我怀疑您在谈论 File API。用户选择的文件通过文件输入的files
属性作为File
对象可用。这在 iOS8 中不会改变。
是的,抱歉,我不清楚。在 ios8 beta5 safari 中使用 File API 读取单个文件时,filereader 对象返回文件对象不可读。
iOS8 GM 中的文件处理完全被破坏了。 Apple 很可能不会在此时发布之前修复。
是的,这个问题只影响 Safari,而不是专门影响 UIWebView。 blog.fineuploader.com/2014/09/10/…【参考方案2】:
更新:Apple 昨天发布了 iOS 8.0.2 并修复了上传错误。
在 iOS 8.0 上,单个或多个文件的所有文件上传都失败。在 Mobile Safari 中上传的所有文件都返回 0 大小 [1]。
希望 Apple 在下一个版本中解决此问题。似乎它并没有影响主屏幕网络应用程序:
文件上传失败!!每个文件上传都不起作用,您可以选择一个文件或拍照,然后 JavaScript 将不会获取任何数据,以及通过 HTML 或 XMLHttpRequest 上传的 POST 上传的服务器。该问题似乎不适用于主屏幕网络应用。
来源: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/
【讨论】:
感谢您的确认。在过去的几周里,我们解决了所有这些问题。不过,您的源代码对于移动 Web 应用程序开发来说是一个很好的资源。 @EricHyde 不用担心。如果您还没有看到,Apple 发布了 iOS 8.0.2,修复了 Mobile Safari 中的文件上传问题! 是的,我做到了!再次感谢!以上是关于iOS 8 Beta 5 Safari 多张照片上传的主要内容,如果未能解决你的问题,请参考以下文章
使用 iOS SDK 将多张照片作为单个帖子上传,例如时间线照片,而不是 Facebook 中的相册
iOS 8 beta 5 中的今日扩展的 NSUserDefaults 是不是被破坏?
iOS Monotouch UIImagePickerController 来自相机的多张照片/视频