| /** | 
|  * web-upload 工具类(上传文件+进度条) | 
|  */ | 
| // 开始上传文件 | 
| function UploadFileFn() { | 
|     console.log("上传文件") | 
|     $("#progressBarFile").html("0%").css("width", "0%"); | 
|     var upFile = $("#upFile").get(0).files[0]; //input file标签 | 
|   | 
|     var formData = new FormData(); //创建FormData对象 | 
|     var xhr = $.ajaxSettings.xhr(); //创建并返回XMLHttpRequest对象的回调函数(jQuery中$.ajax中的方法) | 
|     formData.append("file", upFile); //将上传name属性名(注意:一定要和 file元素中的name名相同),和file元素追加到FormData对象中去 | 
|     $.ajax({ | 
|         type: "POST", | 
|         url: Feng.ctxPath + "/upload/file", // 后端服务器上传地址 | 
|         data: formData, // formData数据 | 
|         cache: false, // 是否缓存 | 
|         async: true, // 是否异步执行 | 
|         processData: false, // 是否处理发送的数据  (必须false才会避开jQuery对 formdata 的默认处理) | 
|         contentType: false, // 是否设置Content-Type请求头 | 
|         xhr: function () { | 
|             if (OnProgRess && xhr.upload) { | 
|                 xhr.upload.addEventListener("progress", OnProgRess, false); | 
|                 return xhr; | 
|             } | 
|         }, | 
|         success: function (data) { | 
|             Feng.success("上传成功!"); | 
|             $("#fileName").val(data); | 
|         }, | 
|         error: function (data) { | 
|             Feng.error('上传失败!'); | 
|         } | 
|     }); | 
| }; | 
|   | 
| // 侦查附件上传情况 ,这个方法大概0.05-0.1秒执行一次 | 
| function OnProgRess(event) { | 
|     var event = event || window.event; | 
|     var loaded = Math.floor(100 * (event.loaded / event.total)); //已经上传的百分比 | 
|     $("#progressBarFile").html(loaded + "%").css("width", loaded + "%"); | 
| }; |