var xhr = new XMLHttpRequest();
xhr.open("POST", "UserFileUploadController/upload",true);
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.upload.onloadstart = function(){//上传开始执行方法
ot = new Date().getTime(); //设置上传开始时间
oloaded = 0;//设置上传开始时,以上传的文件大小为0
};
xhr.send(formData);
function uploadProgress(evt) {
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
progressNum.html((percentComplete-1) + "%");
progress.css("width", (percentComplete-1) + "%");
} else {
}
我的页面目前用的这个方法,但事实证明这个只是文件的加载进度,这个进度到达100%之后我的后台才会正式上传,然后上传进度也会打印到控制台,后台用的ChannelSftp.put的方法上传文件,他有一个进度监听。