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


	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("提示", "添加成功", null, function() {
					window.top.iframeNavigator('ifrmContent','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已经上传!", null, 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 = '当前进度:'+percentComplete.toString() + '%';
	        }
	        else {
	             document.getElementById('progressNumber').innerHTML = 'unable to compute';
	        }
	      }
	  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十五楼亮哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值