1:通过 file控件
2:通过拖拽
3:fileList对象继承自Blob对象(h5中提供的二进制处理对象)
一:生成 Blob 对象有两种方法:一种是使用 Blob 构造函数,另一种是对现有的 Blob 对象使用 slice 方法切出一部分。
blog对象自身只有两个只读属性,size和type。
blob的构造函数(a,b)a参数代表数据,b参数为一个object包含两个属性分别为type -- MIME 的类型。endings -- 决定 append() 的数据格式,(数据中的 \n 如何被转换)可以取值为 "transparent" 或者 "native"(t* 的话不变,n* 的话按操作系统转换;t* 为默认)
3:filereader对象
FileReader API 才是我们接下去完成一些任务的关键。FileReader API 用于读取文件,即把文件内容读入内存。它的参数是 File 对象或 Blob 对象。
一:该对象拥有三种方法分别用来读取不同类型的文件
readAsText(Blob|File, opt_encoding):返回文本字符串。默认情况下,文本编码格式是 UTF-8,可以通过可选的格式参数,指定其他编码格式的文本。
readAsDataURL(Blob|File):返回一个基于 Base64 编码的 data-uri 对象。
readAsArrayBuffer(Blob|File):返回一个 ArrayBuffer 对象。
二:FileReader API 还有一个 abort 方法,用于中止文件上传。
三:该对象是通过一步的方式读取文件的
4:url对象
一:获取方法
var objecturl = window.URL.createObjectURL(blob|file);
二:用途
该对象生成的值可以用来作为任意一个拥有url(src/href)属性的标签,需要注意的是,即使是同样的二进制数据,每调用一次 URL.createObjectURL 方法,就会得到一个不一样的 URL
三:使得该url失效
1:刷新页面。2:window.URL.revokeObjectURL(objectURL);