URL.createObjectURl () 与URL.revokeObjectURL解析
— URL .createObejectURL方法
URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL。这个URL的生命仅存在于在被创建的这个文档里,新的对象URL指向执行的File对象或者是Blob对象。
// 语法
//newObjectUrl = URL.createObjectURL(blob || file)
// 例子
let img = document.createElement('img')
window.URL.revokeObjectURL(img.src)
需要注意的点
每次调用createObjectURL的时候,一个新的URL对象就被创建了。即使你已经为同一个文件创建过一个URL。如果你不再需要用得到它的时候,就需要释放它。
URL.revokeObjectURL
URL.revokeObjectURL()方法会释放URL .createObejectURL创建的对象URL,当你已经用过了这个对象URL,然后要让浏览器知道这个URK已经不再需要指向对应的文件的时候,就需要调用这个方法。也就是说一个对象URL,使用这个url是可以访问到指定的文件的,但是我可能只需要访问一次,一旦已经访问到了,这个对象URL就不再需要了,就需要被释放掉,被释放掉后,这个对象URL就不再指向指定的文件了。