OSS Web直传方案在iOS中上传视频时需要注意的一个小坑-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

OSS Web直传方案在iOS中上传视频时需要注意的一个小坑

简介: OSS Web直传方案通过将OSS和简单易用的前端上传组件Plupload结合,为前端上传文件场景提供了一个广泛支持的解决方案。 和大家分享一个Plupload在iOS环境下一个小的兼容性问题的,希望能对遇到同样问题的同学有所帮助

OSS Web直传方案通过将OSS和简单易用的前端上传组件Plupload结合,为前端上传文件场景提供了一个广泛支持的解决方案。

Plupload会自动侦测当前的环境,依次在html5、flash、silverlight、html4等方式中选择最合适的上传方式,这些种类基本可以满足PC和移动平台的各种主流浏览器版本使用。

由于各种平台的前端环境差异性,做到完美兼容还是非常困难的,然而一般兼容性问题查起来又非常蛋疼:按逻辑可以这么用,但就是在某个环境下不work,运气好的在揪掉几缕头发后会无意间找到解决方案,运气不好的……image

这里跟大家分享一个我遇到的Plupload在iOS里的兼容性的小坑,希望能对遇到同样问题或即将遇到的这个问题的同学有所帮助:
问题描述:
Plupload中有个参数是multi_selection,这个参数作用是允许用户在选择上传文件的浏览框中可以进行多选的开关,默认值是true。当这个参数没有明确设定为false时,在iOS中除Safari外绝大部分的浏览器(Chrome、Firefox、UC、微信等)都无法上传视频!
问题现象:
目前发现的问题现象有两类,一类是会无法触发“FilesAdded”事件,另一类是可以触发“FilesAdded”事件,但是点击上传后上传进度卡在1%。
问题原因应该是之前plupload一直没有彻底解决的iOS环境下兼容性的问题:http://www.plupload.com/docs/Options#multi_selection
目前图片文件是可以正常上传,但是视频文件问题还是没有解决。
解决方案:
目前能找到的解决方案就是探测客户端环境做特殊处理,即如果检测到是iOS系统并且是非Safari浏览器,则将multi_selection设定为false(关闭多选功能),这样虽然损失了一些便利性,但确保了上传视频功能的正常使用。
如果大家有更好的方案,还请留言告知,分享你的知识来帮助大家~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接