
简单的理解就是将文件或Blob类型的对象转换成UTF-16字符串,保存在当前操作文档下。
扩展一:UTF-8和UTF-16、GBK有什么区别,都是变长编码方式。对应规则转换为Unicode码值后,编码保存在内存/文件中
这又是一个详细的故事,不要注意细节。
二、URL.createObjectURL()有什么用
当然是这个主题的预览功能。
等等。预览是通过 FileReader.readAsDataURL(file) 到 base64 完成的。
好的,下一个话题。
三、URL.createObjectURL() 和 FileReader.readAsDataURL()
如果你可以使用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
喜欢就支持一下吧
请登录后发表评论
注册
社交帐号登录