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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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(关闭多选功能),这样虽然损失了一些便利性,但确保了上传视频功能的正常使用。
如果大家有更好的方案,还请留言告知,分享你的知识来帮助大家~

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
2月前
|
弹性计算 数据管理 应用服务中间件
活动实践 | 借助OSS搭建在线教育视频课程分享网站
本教程指导用户在阿里云ECS实例上搭建在线教育网站,包括重置ECS密码、配置安全组、安装Nginx、创建网站页面、上传数据至OSS、开通OSS传输加速、配置生命周期策略及清理资源等步骤,实现高效、低成本的数据管理和网站运营。
活动实践 | 借助OSS搭建在线教育视频课程分享网站
|
17天前
|
存储 对象存储 索引
对象存储OSS-m3u8视频私有权限
当上传至私有存储桶的M3U8视频缺少签名信息时,会导致播放失败(403错误)。解决方案是使用OSS的动态签名机制,在首次访问M3U8文件时,通过在URL中添加`x-oss-process=hls/sign`参数,OSS将自动对所有TS切片地址进行签名,确保视频正常播放。
44 2
|
16天前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
3月前
|
机器学习/深度学习 数据处理 数据库
基于Django的深度学习视频分类Web系统
基于Django的深度学习视频分类Web系统
68 4
基于Django的深度学习视频分类Web系统
|
4月前
|
Web App开发 前端开发 JavaScript
Web前端项目的跨平台桌面客户端打包方案之——CEF框架
Chromium Embedded Framework (CEF) 是一个基于 Google Chromium 项目的开源 Web 浏览器控件,旨在为第三方应用提供嵌入式浏览器支持。CEF 隔离了底层 Chromium 和 Blink 的复杂性,提供了稳定的产品级 API。它支持 Windows、Linux 和 Mac 平台,不仅限于 C/C++ 接口,还支持多种语言。CEF 功能强大,性能优异,广泛应用于桌面端开发,如 QQ、微信、网易云音乐等。CEF 开源且采用 BSD 授权,商业友好,装机量已超 1 亿。此外,GitHub 项目 CefDetector 可帮助检测电脑中使用 CEF
547 3
|
5月前
|
图形学 Android开发 iOS开发
穿越数字洪流,揭秘Unity3d中的视频魔法!Windows、Android和iOS如何征服RTSP与RTMP的终极指南!
【8月更文挑战第15天】在数字媒体的海洋中,实时视频流是连接世界的桥梁。对于那些渴望在Unity3d中搭建这座桥梁的开发者来说,本文将揭示如何在Windows、Android和iOS平台上征服RTSP与RTMP的秘密。我们将深入探讨这两种协议的特性,以及在不同平台上实现流畅播放的技巧。无论你是追求稳定性的RTSP拥趸,还是低延迟的RTMP忠实粉丝,这里都有你需要的答案。让我们一起穿越数字洪流,探索Unity3d中视频魔法的世界吧!
86 2
|
5月前
|
Android开发 iOS开发
[ionic]解决运行Android、IOS出现Could not find the web assets directory
[ionic]解决运行Android、IOS出现Could not find the web assets directory
45 1
|
5月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
467 0
|
5月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
106 0
|
5月前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
84 0

相关产品

  • 对象存储