new FileReader();
function upLoadImg(){
var file = document.getElementById('upLoadImg1').files[0];//选择的文件对象
// console.log(file instanceof Blob);//true file 对象是特殊类型的 Blob
// console.log(Blob);
if (file) {
var reader = new FileReader(); //实例化
reader.readAsDataURL(file);
reader.readAsText(file,"GBK");
reader.readAsBinaryString(file);
reader.readAsArrayBuffer(file);
reader.onload = function () {
var re = this.result;
console.log(re);
}
}
}
FileReader共有4种读取方法:
1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。(输出为数组集合对象)
2.readAsBinaryString(file):将文件读取为二进制字符串(当前测试好像只支持纯文本,试了doc,出现乱码,修改编码格式为gbk utf-8,没有效果,其他文档类型有待测试)
3.readAsDataURL(file):将文件读取为Data URL base64数据(Base64就是一种基于64个可打印字符来表示二进制数据的方法),当然加入将图片转化为dataURL(base64),这样就成为了一串字符串,再传到服务端。不过这样缺点很多,数据量比转换之前增加1/3
4.readAsText(file, 'GBK'):将文件读取为文本,纯文本不会出现乱码(当前测试好像只支持纯文本,试了doc,出现乱码,修改编码格式为gbk utf-8,没有效果,其他文档类型有待测试)