问题描述
$(document).ready(function(){Dropzone.autoDiscover=false;//SimpleDropzonejs$("#dZUpload").dropzone({url:"upload.ashx",addRemoveLinks:true,parallelUploads:100,success:function(file,response){varimgName=response;file.previewElement.classList.add("dz-success");alert(imgName);$("#dZUpload").hide();//console.log("Successfullyuploaded:"+imgName);},error:function(file,response){file.previewElement.classList.add("dz-error");}});});一般处理程序publicvoidProcessRequest(HttpContextcontext){//context.Response.ContentType="text/plain";//context.Response.Write("HelloWorld");context.Response.ContentType="text/plain";stringdirFullPath=HttpContext.Current.Server.MapPath("~/MediaUploader/");string[]files;intnumFiles;files=System.IO.Directory.GetFiles(dirFullPath);numFiles=files.Length;numFiles=numFiles+1;stringstr_image="";foreach(stringsincontext.Request.Files){HttpPostedFilefile=context.Request.Files[s];//intfileSizeInBytes=file.ContentLength;stringfileName=file.FileName;stringfileExtension=file.ContentType;if(!string.IsNullOrEmpty(fileName)){fileExtension=System.IO.Path.GetExtension(fileName);str_image="MyPHOTO_"+numFiles.ToString()+fileExtension;stringpathToSave_100=HttpContext.Current.Server.MapPath("~/MediaUploader/")+str_image;file.SaveAs(pathToSave_100);}}context.Response.Write(str_image);}上传多张图片时,每上传一张就会返回一个值,弹出一个提示,我希望所有图片都上传后再弹出提示。咋么改,求大神指教
解决方案
解决方案二:
代码中写了一次处理所有上传文件的代码,但是可能是插件传递逻辑是一次一个文件的上传方式搜索了一下帮助,需要指定uploadMultiple,以下是文档说明WhetherDropzoneshouldsendmultiplefilesinonerequest.Ifthisitsettotrue,thenthefallbackfileinputelementwillhavethemultipleattributeaswell.Thisoptionwillalsotriggeradditionalevents(likeprocessingmultiple).Seetheeventssectionformoreinformation.个人认为应该这么改$("#dZUpload").dropzone({url:"upload.ashx",addRemoveLinks:true,uploadMultiple:true其余代码不变,但是这个插件只支持到ie10+,有点可惜了
解决方案三:
this.on("complete",function(file,message){++num;if(num==total){alert("OK");}});this.on("addedfile",function(file,message){++total;});js设个参数varnum=0;vartotal=0;有文件添加就total+1;返回成功就num+1;自己考虑-1的情况