ie10兼容性视图灰色 64toBlob

简单的理解就是将文件或Blob类型的对象转换成UTF-16字符串,保存在当前操作文档下。

扩展一:UTF-8和UTF-16、GBK有什么区别,都是变长编码方式。对应规则转换为Unicode码值后,编码保存在内存/文件中

这又是一个详细的故事,不要注意细节。

二、URL.createObjectURL()有什么用

当然是这个主题的预览功能。

等等。预览是通过 FileReader.readAsDataURL(file) 到 base64 完成的。

好的,下一个话题。

三、URL.createObjectURL() 和 FileReader.readAsDataURL()

图片[1]-ie10兼容性视图灰色 64toBlob-老王博客

如果你可以使用FileReader.readAsDataURL(file)方法,你可以阅读下面的类比来比较两者的优缺点。

返回值内存使用内存清理执行机制兼容性其他

总体

URL.createObjectURL(file) 获取本地内存容器的URL地址ie10兼容性视图灰色,方便预览。如果多次使用,需要注意手动释放内存的问题,性能非常出色。 FileReader.readAsDataURL(file) 比直接转换成base64格式要好,可以直接用于业务ie10兼容性视图灰色,无需二次转换。

关于使用canvas捕捉视频的第一帧,下一篇我会再来。

附件一:Base64 转 Blob

function dataURLtoBlob(dataurl) {
 var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
 bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
 while (n--) {
 u8arr[n] = bstr.charCodeAt(n);
 }
 return new Blob([u8arr], { type: mime });
}

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论