读取文本 或二进制文件
html :
<button type="" class="btn btn-success" οnclick="fileToUpload.click()">上传</button>
<input type="file" id="fileToUpload" style="display:none" name="fileToUpload" οnchange="backUpload(this); "value="上传"/>
js :
function backUpload(input) {//上传
var fileSize = 0;//文件大小
var count="";
_start=0;
if (window.FileReader) {//支持chrome IE10
_file1 = input.files[0];
var filename = _file1.name.split(".")[0];
_upFileSize=_file1.size;//文件字节数
URL=input.value;
order=0;
upda();
}
}
function upda(){
reading();
}
var READBLOCKSIZE = 511 ;
function reading ()
{
var reader = new FileReader();
var result;
result= _file1.slice(_start,(READBLOCKSIZE+_start));
reader.onload = function() {
var contents ="";
contents = this.result;
var cc=contents.length;
// alert(contents);
//读取结束的字节位置 < 文件的总字节数
if ((READBLOCKSIZE+_start)<_upFileSize){//需要进行多次循环
send(order,contents);
//下次循环
order=1;
_start=READBLOCKSIZE+_start;
upda();
}
else {//最后一次循环
send(order,contents);
alert("上传成功!");
}
}
reader.readAsBinaryString(result);
}
测试OK的