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();
}
}
}
}
是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢