-
FileReader
:用于读取文件内容,并将内容存储在内存中。它提供了几种方法用于读取文件内容,例如readAsText、readAsDataURL和readAsArrayBuffer。
const fr = new FileReader()
fr.readAsDataURL(file)
fr.addEventListener("load", function () {
img.src = reader.result;
}, false);
-
Blob
:表示不可变的、原始数据的类文件对象。Blob对象可以用来存储二进制数据、图片、音频、视频等。它提供了一些方法,例如slice和size等。
-
File
:继承自Blob,表示用户选择的文件。File对象提供了一些属性,例如name、size和type等,用于描述文件的基本信息。
-
FormData
:用于创建表单数据,可以将表单数据和文件一起提交。它提供了几种方法,例如append和get等。
-
XMLHttpRequest
:用于向服务器发送HTTP请求,可以用于上传和下载文件。它提供了几种方法,例如open、send和abort等。
-
URL
:用于创建一个指向File或Blob对象的URL。它提供了createObjectURL
和revokeObjectURL
方法,用于创建和销毁URL。URL.createObjectURL方法创建的URL只在当前页面有效,页面刷新或关闭后,URL将失效。此外,由于URL.createObjectURL方法创建的URL可能会占用大量内存,因此应该在使用后及时销毁URL。
- 创建URL:使用URL.createObjectURL方法,传入File或Blob对象作为参数,可以创建一个URL。例如:
var file = document.querySelector('input[type=file]').files[0];
var url = URL.createObjectURL(file);
- 销毁URL:使用URL.revokeObjectURL方法,传入URL作为参数,可以销毁URL,并释放内存。例如:
URL.revokeObjectURL()