//上传文件最大值（MB）
var fileMaxSize = 512;
$("#upload").click(upload);

/**
 * 上传文件
 */
function upload() {
	$('#result').html("");
	var input = document.getElementById("file");
	if (!input.value) {
		$('#progressDiv').css("display", "hidden");
		$("#result").html("文件为空，无法进行上传！");
		return;
	}
	if (input.files[0].size > fileMaxSize * 1024 * 1024) {
		$('#progressDiv').css("display", "hidden");
		$("#result").html("文件大小不能超过" + fileMaxSize + "MB！");
		return;
	}
	// 创建FormData对象，初始化为form表单中的数据
	var formData = new FormData($('form')[0]);

	// 显示进度
	$('#progressDiv').css("display", "block");
	// $('#progressDiv').toggle();
	// ajax异步上传
	$.ajax({
		url : "upload",
		type : "POST",
		data : formData,
		xhr : function() {
			myXhr = $.ajaxSettings.xhr();
			if (myXhr.upload) {
				// 绑定progress事件的回调函数
				myXhr.upload.addEventListener('progress',
						progressHandlingFunction, false);
			}
			return myXhr;
		},
		success : function(result) {
			$("#result").html(result);
		},
		contentType : false,
		processData : false
	});

}

// 上传进度回调函数：
function progressHandlingFunction(e) {
	if (e.lengthComputable) {
		$('progress').attr({
			value : e.loaded,
			max : e.total
		}); // 更新数据到进度条
		var percent = e.loaded / e.total * 100;
		$('#progress').html(
				e.loaded + "/" + e.total + " bytes. " + percent.toFixed(2)
						+ "%");
	}
}