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

最新文章

  1. BZOJ1303 [CQOI2009]中位数图
  2. [分享] 《步步为营封 Win7》--skyfree
  3. [你必须知道的NOSQL系列]专题二:Redis快速入门
  4. php常见问题以及解决方法
  5. Android中Base64的简单使用
  6. 苹果 Mac OS X Yosemite 10.10 新功能特性总结 - 扁平化、主打跨设备的无缝连通性
  7. Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
  8. PHP导出数据到CSV文件
  9. 161. One Edit Distance
  10. [学习笔记]设计模式之Singleton
  11. IIS启动网站
  12. CF Round#436 div2
  13. ubuntu启动报/root/.profile mesg:ttyname failed错误的解决办法
  14. CentOS 7 配置网络连接
  15. JMeter测试(菜鸟级,高手莫点)
  16. Flask之勾子,错误捕获以及模板语法
  17. jQuery中【width(),innerWidth(),outerWidth()】
  18. VC6配置CXimage库
  19. 【Java算法】输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
  20. OO第9~11次作业总结

热门文章

  1. BZOJ2243 (树链剖分+线段树)
  2. WP8.1 实现Continuation程序(打开文件,保存文件等)
  3. 五、CCNode
  4. MySQL优化—工欲善其事,必先利其器之EXPLAIN(转)
  5. SPAdes
  6. FDR
  7. 纯JavaScrip图表插件——Highcharts
  8. Hibernate控制insert\update语句
  9. squid代理服务器搭建及配置
  10. ..c++中用c语言的输入法