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

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

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

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

这里跟大家分享一个我遇到的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(关闭多选功能),这样虽然损失了一些便利性,但确保了上传视频功能的正常使用。
如果大家有更好的方案,还请留言告知,分享你的知识来帮助大家~

时间: 2024-09-14 06:30:25

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

OSS Web直传——使用Flash上传

OSS Web直传使用案例:点击这里 好的.今天我讲解一下Flash上传的示例.   Flash上传我还是采用pupload上传插件.做法是将 pupload 的runtimes 改成:flash   var uploader = new plupload.Uploader({ browse_button : 'selectfiles', runtimes : 'flash', //设成flash,就是flash的方式上传 container: document.getElementById('

微信网页中上传文件时“只能选择SD卡中的文件”问题

问题描述 微信网页中上传文件时"只能选择SD卡中的文件"问题 解决方案 这个应该是微信上传文件的设置问题吧,我的也是这样. 解决方案二: 微信有jssdk拍照上传接口,可以看看相关文档. 解决方案三: 应该是设置中的问题吧

php-【PHP】uchome上传视频时如何得到可用空间

问题描述 [PHP]uchome上传视频时如何得到可用空间 刚毕业工作4个多月,接触的东西不多,最近公司一个项目用到uchome,完全搞不懂哪里是哪里,想请教一下各位,在上传视频的时候怎么查询出现在用户的可用空间? $userid = $_POST['supe_uid']; $space = getspace($userid); $maxattachsize = checkperm('maxattachsize');//单位MB echo 'maxattachsize:'.$maxattachs

[转贴].net中上传视频并将各种视频文件转换成.flv格式

原文见:http://www.cnblogs.com/guke1991/archive/2009/02/18/1393046.html 首先,我们部署一下文件夹.在工程的目录下新建几个文件夹如下图:UpFiles文件夹是要保存你上传的文件,PlayFiles文件夹是用于你转换后保存的文件(用于网上播放)ImgFile文件夹是保存截取视频文件的图片,然后那两个mencoder和ffmpeg文件夹是视频转换工具.此视频转换也可叫做mencoder+ffmpeg视频转换.首先,在配置文件中给这些文件夹

iOS 给每一条消息后面添加一个小图标(跟那个已读标志一样,不同的是每条消息都添加)用环信的easeui怎么添加,有没有大神帮助一下

问题描述 解决方案 已读的标识每条消息也都添加了呢,在cell加一个label,处理下代码逻辑,什么时候显示,什么时候隐藏.

Web直传解决并发上传出错,导致任务停止

Web直传解决并发上传出错,导致任务停止 OSS提供了Web直传示例的示例 但是上述事例有一个现象 就是当一个文件在上传过程中,这个时候再选择一个不符合条件的文件,会导致正在上传的文件终止. 如此图 h3. 首先我们来分析一下为什么会出现这种现象 出现这种现象的原因是:plupload这个控件导致的. plupload提示了filter var uploader = new plupload.Uploader({ runtimes : 'html5,flash,silverlight,html4

解析ASP.NET应用程序中上传文件的方案

在Web程序中上传文件是很常见的需求.利用HTTP协议上传文件的方式非常有限,最常见的莫过于使用<input type="file" />元素进行上传.这种上传方式会将内容使用multipart/form-data方案进行编码,并将内容POST到服务器端.使用multipart/form-data编码方式与默认的application/x-url-encoded编码方式相比,在大数据量情况下效率要高很多. 使用<input type="file"

如何在Web页面中集成文件上传功能

当前,个人主页制作非常流行.当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的. 如果我们能把文件上传功

自动化测试-RFS中上传文档自动化脚本,集成在jenkins中执行不通过,不知道怎么解决?

问题描述 RFS中上传文档自动化脚本,集成在jenkins中执行不通过,不知道怎么解决? RFS中web上传文档(非标准上传控件)自动化脚本,集成在jenkins里运行,脚本是执行通过了,但实际图片并没有上传成功? 说明:上传图片脚本用到了AutoItLibrary库,执行过程中需要打开windows选择文件界面,但jenkins中运行脚本的语句pybot是在后台执行,并不会打开界面,所以导致上传图片不成功.