URL.createObjectURL()使用

391 阅读1分钟

URL.createObjectURL()静态方法会创建一个DOMString,其他包含一个表示参数中给出的对象的URL。这个URL的生命周期和创建它的窗口中的document绑定。这个新的URL对象表示指定的File对象或Blob对象
URL.createObjectURL(blob)和FileReader.readAsDataURL(file)很相似
主要区别
通过FileReader.readAsDataURL(file)可以获取一段data:base64的字符串
通过URL.createObjectURL(blob)可以获取当前文件的一个内存URL

执行时机:
createObjectURL是同步执行(立即的)
FileReader.readAsDataURL是异步执行(过一段时间)

优劣对比:

使用createObjectURL可以节省性能并更快速,只不过需要在不使用的情况下手动释放内存

如果不太在意设备性能问题,并想获取图片的base64,则推荐使用FileReader.readAsDataURL

image.png

image.png

image.png