通过XMLHttpRequest上传文件,并显示进度条

前端之家收集整理的这篇文章主要介绍了通过XMLHttpRequest上传文件,并显示进度条前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

	function submitRequest(callback) {
var apkFile = document.getElementById("file").files[0];
if (apkFile) {
var fileName = apkFile.name;
var suff = fileName.substring(fileName.lastIndexOf('.') + 1,fileName.length);
if (suff != "apk") {
$.messager.alert("提示",messageCreator("文件格式必须为apk!"));
return;
}
}
var fd = new FormData();
if (apkFile) {
var apkName = apkFile.name;
fd.append("apkName",apkName);
fd.append("apkFile",apkFile);
}
var seq = $('#inputSeq').val();
fd.append("seq",seq);
fd.append("developer",$('#inputDeveloper').textBox('getText'));
fd.append("isTop",$('#inputIsTop').comboBox('getValue'));
fd.append("isRecommend",$('#inputIsRecommend').comboBox('getValue'));
fd.append("isRelease",$('#inputIsRelease').comboBox('getValue'));
fd.append("description",$('#inputDescription').val());
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress",uploadProgress,false);
xhr.open('POST',AppContextPath + "/rest/app/save_app",true);
/*
xhr.onload = function() {
$.messager.alert("提示","添加成功",null,function() {
window.top.iframeNavigator('ifrmContent','service/app_main.html');
if (callback != null)
callback();

});
};
*/
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200){
$.messager.alert("提示",'service/app_main.html');
if (callback != null)
callback();

});
}else if(xhr.readyState == 4&& xhr.status != 200){
var jsonError = eval("(" + xhr.responseText + ")");
var errorType = jsonError.type;
if(errorType == "ApkDuplicate"){
$.messager.alert("提示","该Apk已经上传!",function() {window.top.iframeNavigator('ifrmContent','service/app_main.html');

});
}
}
};
xhr.send(fd);
}
function uploadProgress(evt) {
if (evt.lengthComputable) {
var percentComplete = Math.round(evt.loaded * 100 / evt.total);
document.getElementById('progressNumber').innerHTML = '<font color=red>当前进度:'+percentComplete.toString() + '%</font>';
}
else {
document.getElementById('progressNumber').innerHTML = 'unable to compute';
}
}

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的jQuery相关文章