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