欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-25 11:11:10
asp.net的fileupload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能。 这就需要借用客户端的onchange事件,调...

asp.net的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;
}
}