Blob
对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据。File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
FileReader
对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。比如FileReader.readAsDataURL(Blob|File),可用于异步生成图片的base64,生成的base64会在js垃圾回收机制自动从内存中清理。
ArrayBuffer
对象用来表示通用的、固定长度的原始二进制数据缓冲区。
Base64 编码
ReadableStream
接口呈现了一个可读取的二进制流操作。Fetch API 通过Response的属性 body提供了一个具体的 ReadableStream 对象。
File
通常情况下, File 对象是来自用户在一个 <input> 元素上选择文件后返回的 FileList 对象,也可以是来自由拖放操作生成的 DataTransfer 对象,或者来自 HTMLCanvasElement 上的 mozGetAsFile() API。
URL.createObjectURL(Blob|File)?
该方法会创建一个?DOMString,其中包含一个表示参数中给出的对象的URL。可用于页面显示图片和文件下载。创建的url需要手动释放内存,当不再需要这些 URL 对象时,每个对象必须使用URL.revokeObjectURL(url)方法来释放。