前端接受文件調用後臺上傳文件的方法
阿新 • • 發佈:2017-11-27
失敗 jquery ice error: form col asp .com esp
需要用到
slice() 方法
參考
http://www.w3school.com.cn/jsref/jsref_slice_array.asp
前端HTML使用標簽是
type=file的input標簽,可以直接選擇文件上傳
JS:
function () { var file = $("#SelectImageFile")[0].files[0]; var fileName = file.name; var fileSplitSize = 1 * 1024 * 1024; //文件分段大小5M var size = file.size;var posturl = postWebUrl;//上傳文件的後臺方法地址 var formData = new FormData(); var index1 = fileName.lastIndexOf("."); var index2 = fileName.length; var suffix = fileName.substring(index1, index2);//後綴名 //如果需要限制後綴名,可以這麽寫 if (suffix != ".rar" && suffix != ".zip" && suffix != ".7z") { msg("上傳的影像信息必須為.rar,.zip,.7z格式"); } else { formData.append("file", file.slice(start, start +fileSplitSize)); formData.append("name", fileName); $.ajax({ url: posturl, type: ‘POST‘, data: formData, // 告訴jQuery不要去處理發送的數據processData: false, // 告訴jQuery不要去設置Content-Type請求頭 contentType: false, beforeSend: function () { //console.log("正在進行,請稍候"); }, //分段上傳,1-5上傳成功後,再上傳6-11,以此類推,成功後,給出提示,在成功之前,會一直顯示上傳進度 success: function (data) { $("#process").show();//進度條顯示 if (start + fileSplitSize >= size) { $("#spnProcessShow").css("width", "100%"); $("#spnProcessText").html("上傳完成,已上傳100%"); } else { start += fileSplitSize; Percentage = Math.round(start / size * 100); $("#spnProcessShow").css("width", Percentage + "%"); $("#spnProcessText").html("正在上傳,已上傳" + Percentage + "%"); } }, error: function (data) { start = 0; $("#process").hide();//隱藏進度條 $("#spnProcessShow").css("width", "0%"); $("#lblMsg").html("影像上傳失敗"); } }); } }
前端接受文件調用後臺上傳文件的方法