asp.net+ajaxfileupload.js 实现文件异步上传代码分享
由于代码很简单,这里就闲话不多说了,直接上代码,小伙伴们自己研读代码就明白了。
前台代码:
/*修改头像*/ //上传 function_sc(){ $(".ckfile").html("").css("color","#535353"); $("#_userImgPath").val(""); varstr=$("#file").val(); if($.trim(str)==""){ $(".ckfile").html("请选择文件。").css("color","red"); returnfalse; } else{ varpostfix=str.substring(str.lastIndexOf(".")+1).toUpperCase(); if(postfix=="JPG"||postfix=="JPEG"||postfix=="PNG"||postfix=="GIF"||postfix=="BMP"){ $('#showimg').attr('src','Images/loading.gif').attr("title","上传中,请稍后…"); varpath="Upload/UserImg"; $.ajaxFileUpload({ url:'/Upload.aspx?path=Upload|UserImg&shape=100*100', secureuri:false, fileElementId:'file', dataType:'text', success:function(msg){ if(msg.lastIndexOf(path)==-1){ $(".ckfile").html(msg).css("color","red"); } else{ $('#showimg').attr('src',msg).attr("title","我的头像"); $("#_userImgPath").val(msg); } } }); }else{ $(".ckfile").html("文件格式错误。").css("color","red"); returnfalse; } } }
后台代码:
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingSS.Upload; usingWFC.Fenxiao; namespacewanfangcheng { publicpartialclassUpload:BasePage { //文件大小1024kb privatelongsize=1024; //文件类型 privatestringtype=".jpg|.jpeg|.png|.gif|.bmp"; //保存名称 stringname=""; //保存路径 privatestringpath=@"Upload/UserImg"; //保存大小 privatestringshape="100*100"; protectedvoidPage_Load(objectsender,EventArgse) { HttpFileCollectionfiles=Request.Files; if(files!=null&&files.Count>0) { name=BaseRole.Instance.UserId.ToString(); if(Request.QueryString["size"]!=null) { size=Convert.ToInt32(Request.QueryString["size"]); } if(Request.QueryString["path"]!=null) { path=Request.QueryString["path"].ToString().Trim().Replace('|','/'); } if(Request.QueryString["name"]!=null) { name=Request.QueryString["name"].ToString().Trim(); } if(Request.QueryString["shape"]!=null) { shape=Request.QueryString["shape"].ToString().Trim(); } uploadMethod(files); } } ///<summary> ///上传图片 ///</summary> ///<paramname="hc"></param> publicvoiduploadMethod(HttpFileCollectionhc) { HttpPostedFile_file=hc[0]; //文件大小 long_size=_file.ContentLength; if(_size<=0) { Response.Write("文件错误。"); Response.End(); return; } if(size*1024<_size) { Response.Write("文件过大,最大限制为"+size+"KB。"); Response.End(); return; } //文件名 string_name=_file.FileName; //文件格式 string_tp=System.IO.Path.GetExtension(_name).ToLower(); if(type.IndexOf(_tp)==-1) { Response.Write("文件格式错误。"); Response.End(); return; } //保存路径 string_path=HttpContext.Current.Server.MapPath(path)+@"/"+name+_tp; try { intw=Convert.ToInt32(shape.Split('*')[0]); inth=Convert.ToInt32(shape.Split('*')[1]); ImageHelper.CutForCustom(_file,_path,w,h,50); Response.Write(path+@"/"+name+_tp); } catch(Exception) { Response.Write("哎呦,出错了。"); Response.End(); } } } }
是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢