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

时间:2021-05-28

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;}}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章