移动端UC浏览器不支持Blob的解决方案
来源:互联网 发布:淘宝图库网址 编辑:程序博客网 时间:2024/06/18 08:11
前言
uc浏览器不支持Blob的解决方案
参考文章:http://www.haomou.net/2016/01/14/2016_android_blob/
如果你使用canvas导出图片,并将图片存储在uint8Array中,然后想通过blob构造之后上传到诸如aliyun oss服务器,或者个人文件服务器,那么你要注意了。在chrome早先版本和目前的android中,至少是andrid5.1之前的浏览器,包括微信浏览器等,都不支持blob的构造方法,需要使用BlobBuilder。
原因
var jpeg = new Blob( [array.buffer], {type : "image/jpeg"});
这个blob的构造方法,在ios手机浏览器是支持的,但是在android手机浏览器不行。
桌面版的chrome浏览器解决了这个blob bug, 但是android手机还是有这个问题,会返回一个type error,因为android浏览器不支持这个构造方法。你必须使用老版本的BlobBuilder API.
解决方法
var array = new Int8Array([17, -45.3]);try{ var jpeg = new Blob( [array], {type : "image/jpeg"});}catch(e){ // TypeError old chrome and FF window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; if(e.name == 'TypeError' && window.BlobBuilder){ var bb = new BlobBuilder(); bb.append([array.buffer]); var jpeg = bb.getBlob("image/jpeg"); } else if(e.name == "InvalidStateError"){ // InvalidStateError (tested on FF13 WinXP) var jpeg = new Blob( [array.buffer], {type : "image/jpeg"}); } else{ // We're screwed, blob constructor unsupported entirely }}
0 0
- 移动端UC浏览器不支持Blob的解决方案
- 移动端UC /QQ 浏览器的部分私有Meta 属性
- UC不支持的CSS
- 关于Chrome浏览器不支持From.submit的解决方案
- 中文版Chrome浏览器不支持12px以下字体的解决方案
- 中文版Chrome浏览器不支持12px以下字体的解决方案
- 中文版Chrome浏览器不支持12px以下字体的解决方案
- 【优化】完美解决部分浏览器不支持placeholder的解决方案
- UC浏览器梁延俊:移动浏览器HTML5之路
- 移动WEB开发之Safari、QQ、UC、360浏览器的私有Meta属性
- UC浏览器的那些坑
- Android 内置浏览器不支持webSocket解决方案
- 【前端】浏览器不支持模态对话框解决方案
- flex.css,移动端flex布局神器,兼容微信,UC,webview等移动端主流浏览器08.10
- UC浏览器
- jsp中使用URL重写跟踪Session,浏览器不支持Cookie的解决方案
- ie8以下版本(包括ie8)的浏览器不支持html5标签属性解决方案
- jQuery Ui Draggable在移动端浏览器不起作用解决方案
- android uiautomator如何写一个定时任务的方法
- java web 后台的一些问题(不要盲听,要实践出真知)
- [iOS 转]iOS中 Animation 动画大全
- 编辑修改PDF文件的方法与步骤
- oracle 游标示例
- 移动端UC浏览器不支持Blob的解决方案
- 互联网项目团队成员及能力组成的金字塔和倒金字塔模型
- 单例模式
- textFiled的颜色设置
- gmic全球移动互联网大会 gmic2017大咖嘉宾名单大曝光!!!
- babel的使用
- 在mac上面安装appium---npm install时报错:npm WARN enoent ENOENT: no such file or directory,
- 兔子- Exception raised during rendering: com/android/util/PropertiesMap (Details)
- Django中的Low-level 缓存详解