h5 二进制数据操作对象 FormData 、Blob、File、FileReader、ArrayBuffer、URL、URLSearchPara
FormData 、Blob、File、FileReader、ArrayBuffer、URL、URLSearchPara
FormData
- FormData是Ajax 2.0对象用以将数据编译成键值对,以便于XMLHttpRequest来发送数据。XMLHttpRequest Level 2提供的一个接口对象,可以使用该对象来模拟和处理表单并方便的进行文件上传操作。
Blob
- 一个Blob对象就是一个包含有只读原始数据的类文件对象
File
- File是Blob的子类,比blob主要多出一个name的属性
FileReader
- Blob对象只是二进制数据的容器,本身并不能操作二进制,FileReader对象就是专门操作二进制数据的,FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件。
ArrayBuffer
- ArrayBuffer对象用于表示通用的,固定长度的原始二进制数据缓冲区且不能直接操纵 ArrayBuffer 的内容
- ArrayBuffer的数据,是可以按照字节去操作的,而 Blob只能作为一个完整对象去处理。ArrayBuffer相比Blob更接近真实的二进制,更底层
URL
- 除了可以使用base64字符串作为内容的DataURI将一个文件嵌入到另外一个文档里,还可以使用URL对象。URL对象用于生成指向File对象或Blob对象的URL
- blob url 和data url 区别
- 格式 Blob URL 格式如 blob:域名/uuid , Data URL 格式如: data:[
][;base64], 。 - 长度 Blob URL 一般长度较短,而 Data URL 因为直接存储图片 base64 编码后的数据,往往比较长。
- ajax blob 可以直接指定类型
- dataurl 适用范围更广阔
- 格式 Blob URL 格式如 blob:域名/uuid , Data URL 格式如: data:[
URLSearchPara
- URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/16315144.html