您的位置:首页 > 编程语言 > ASP

让ASP.NET的FileUpload控件支持浏览自动上传功能

2013-01-04 17:31 375 查看
FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法

借用客户端的onchange事件,调用__doPostBack方法来用LinkButton的OnClick事件模拟一个事件触发的过程,具体代码如下:

客户端:

<asp:FileUpload ID="fuPhoto" onchange="javascript:__doPostBack('lbUploadPhoto','')"

runat="server" ToolTip="选择图片" />

<asp:LinkButton ID="lbUploadPhoto" runat="server" OnClick="lbUploadPhoto_Click"></asp:LinkButton>

后台代码:

//自动上传事件

protected void lbUploadPhoto_Click(object sender, EventArgs e)

{

fileUpload();

}

//从控件上传文件

public void fileUpload()

{

if (fuPhoto.PostedFile != null && fuPhoto.PostedFile.ContentLength > 0)

{

string ext = System.IO.Path.GetExtension(fuPhoto.PostedFile.FileName).ToLower();

if (ext != ".jpg" && ext != ".jepg" && ext != ".bmp" && ext != ".gif")

{

return;

}

string filename = "Image_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ext;

string path = "./UploadPhoto/" + filename;

fuPhoto.PostedFile.SaveAs(Server.MapPath(path));

Response.Redirect("ImageCut.aspx?Picurl=" + Server.UrlEncode(path));

}

else

{

//do some thing;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: