FileReader属性:
| 方法名 | 参数 | 描述 |
| abort |
none |
中断读取 |
| readAsBinaryString |
file(blob) |
将文件读取为二进制码 |
| readAsDataURL |
file(blob) |
将文件读取为 DataURL |
| readAsText |
file, (blob) |
将文件读取为文本 |
FileReader 包含了一套完整的事件模型,用于捕获读取文件时的状态:
| 事件 | 描述 |
| onabort |
中断时触发 |
| onerror |
出错时触发 |
| onload |
文件读取成功完成时触发 |
| onloadend |
读取完成触发,无论成功或失败 |
| onloadstart |
读取开始时触发 |
| onprogress |
读取中 |
文件一旦开始读取,无论成功或失败,实例的 result 属性都会被填充。如果读取失败,则 result 的值为 null ,否则即是读取的结果,绝大多数的程序都会在成功读取文件的时候,抓取这个值。
//通过FileReader获取文件base64码并预览
function uploadMulFile(uploadFile) {
var fileLength = 0;
var reader = new FileReader();
reader.readAsDataURL(uploadFile[fileLength]);
reader.onabort = function(e) {
console.log("文件读取异常" + uploadFile[fileLength].name);
};
reader.onerror = function(e) {
console.log("文件读取出现错误" + uploadFile[fileLength].name);
};
reader.onload = function(e) {
if(e.target.result) {
console.log("完成" + uploadFile[fileLength].name);
fileLength++;
if(fileLength < uploadFile.length) {
reader.readAsDataURL(uploadFile[fileLength]);
} else {
//do something
}
}
};
}