readLocalFiles(function(files){
var file = files[0];
var form = new FormData(); //IE10以下不支持该对象
form.append('file', file);
var url = 'dhcst.dispqueryaction.csp?actiontype=Upload';
//请求对象
var xhr = new XMLHttpRequest();
xhr.open("post", url, true);
//上传进度事件
xhr.upload.addEventListener("progress", function(result) {
if (result.lengthComputable) {
//上传进度
var percent = (result.loaded / result.total * 100).toFixed(2);
}
}, false);
xhr.addEventListener("readystatechange", function() {
var result = xhr;
if (result.status != 200) {
//error
console.log('上传失败', result.status, result.statusText, result.response);
} else if (result.readyState == 4) {
//finished
console.log('上传成功', result);
}
});
xhr.send(form); //开始上传
}, '.xls');
//Desc: 创建文件框,读取本地文件 Huxt 2019-06
//Input: callBackFn - 回到函数, 会把用户选择的文件作为参数传递给回到函数
function readLocalFiles(callBackFn,suffix){
//动态创建文件输入表单(不需要在页面上再单独加一个input)
var inputFileBox = document.createElement("input");
inputFileBox.type="file";
inputFileBox.onchange=function(){
//jsReadFiles(this.files); /*读取文本文件和图片文件*/
//jsReadExcelAsJson(this.files); /*读取Excel文件*/
//jsReadLocalXML(this.files); /*按文本读取xml*/
var files = this.files;
if((suffix)&&(files[0].name.indexOf(suffix)<=0)){
alert("文件格式错误,请选择后缀为: "+suffix+" 的文件!");
return;
}
if(callBackFn){
callBackFn(files);
}
}
document.body.appendChild(inputFileBox);
inputFileBox.click();
return;
}