資源描述:
《jqueryajax實(shí)現(xiàn)批量上傳圖片》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、先看效果圖?點(diǎn)擊增加按鈕,會(huì)增加一個(gè)選擇框,如下圖:?選擇要上傳的圖片,效果圖如下:?上傳成功如下圖:??下面來看代碼:前臺(tái)html主要代碼:確定上傳 取消 &nbs
2、p;增加????????圖片1:????????????????????????????????
因?yàn)橛昧薐Query
3、,所以你完全可以把click事件放在js文件中“增加”按鈕js代碼:varTfileUploadNum=1;//記錄圖片選擇框個(gè)數(shù)varTnum=1;//ajax上傳圖片時(shí)索引????????functionTAddFileUpload()????????...{??????????????????varidnum=TfileUploadNum+1;??????????????????varstr="
圖片"+idnum+":";??????????????????str+="4、nputname=''size='60'id='uploadImg"+idnum+"'type='file'/>";??????????????????str+="
";??????????????????$("#imgTable").append(str);??????????????????TfileUploadNum+=1;????????}“確定上傳”按鈕js代碼:??functionTSubmitUploadImageFile()????????...{?????
5、?????????????M("SubUpload").disabled=true;??????????????????M("CancelUpload").disabled=true;??????????????????M("AddUpload").disabled=true;??????????????????setTimeout("TajaxFileUpload()",1000);//此為關(guān)鍵代碼}關(guān)于setTimeout("TajaxFileUpload()",1000);這句代碼:因?yàn)樗^的批量上傳,其實(shí)還是一個(gè)一個(gè)的上傳,給用戶的只是一個(gè)假象。只所以要延時(shí)執(zhí)行T
6、ajaxFileUpload(),是因?yàn)樵诎褕D片上傳到服務(wù)器上時(shí),我在后臺(tái)給圖片重新命名了,命名的規(guī)則是,如下代碼:Randomrd=newRandom();StringBuilderserial=newStringBuilder();serial.Append(DateTime.Now.ToString("yyyyMMddHHmmssff"));serial.Append(rd.Next(0,999999).ToString());returnserial.ToString();即使我命名精確到毫秒,另外再加上隨機(jī)數(shù),可是還是有上傳的第二張圖片把上傳的第一張圖片覆蓋的情
7、況出現(xiàn)。所以此處我設(shè)置了延時(shí)1秒后在上傳下一張圖片。剛開始做這個(gè)東西的時(shí)候,用的是for循環(huán),來把所有的圖片一個(gè)一個(gè)的循環(huán)地用ajax上傳,可是for循環(huán)速度太快了,可能第一張圖片還沒來得及ajax,第二張就被for過來了,還是有第二張覆蓋第一張的情況出現(xiàn)。下面來看TajaxFileUpload()函數(shù),代碼如下:functionTajaxFileUpload()????????...{??????????????????if(Tnum