FileUpload控件获取要上传文件的路径

         今天在用到FileUpload控件时候,想获得上传文件的完整路径,根据FileUpload控件属性说明,采用 "HttpPostedfile.FileName 获得原文件完整路径即"  this.FileUpload1.PostedFile.FileName;但是发现只能获得文件名,也就是说和"FileUpload.FileName 获得原文件名:" this.FileUpload1.FileName;没有区别。360浏览器,谷歌、搜狗、IE都试过,发现没用,最后设置了IE8的安全级别,FileUpload1.PostedFile.FileName是可以获得完整路径的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
using system; using system.web.ui; using system.web.ui.webcontrols; using system.componentmodel; using system.web.ui.htmlcontrols; using system.io; using system.drawing; using system.drawing.design; namespace yingnet.common { /// <summary> /// fileupload 的摘要说明。e:\program\common\fileupload.bmp /// </summary> [toolboxbitmap(typeof(yingnet.common.fileupload), "fileupload.bmp"), defaultproperty("text"), defaultevent("click"), toolboxdata("<{0}:fileupload runat=server></{0}:fileupload>")] public class fileupload : system.web.ui.webcontrols.webcontrol { /// <summary> /// 上传按钮 /// </summary> private button button=new button(); /// <summary> /// 上传文件个数 /// </summary> private int filenum=1; /// <summary> /// file对象 /// </summary> private htmlinputfile[] file; /// <summary> /// 保存路径,默认为系统的临时目录 /// </summary> private string path=system.io.path.gettemppath(); /// <summary> /// 上传的文件名组 /// </summary> private string[] filename; /// <summary> /// 后缀文件名组 /// </summary> private string[] suffix; /// <summary> ///过滤器,写法是.txt;.abc /// </summary> private string filter=""; /// <summary> /// 限制文件上传大小,为0是不限制,单位是字节 /// </summary> private int size=0;//system.componentmodel.defaulteventattribute /// <summary> /// 上传事件 /// </summary> [bindable(true),category("事件"),description("上传后激发的事件") ] public event eventhandler click; /// <summary> /// 上传文件数 /// </summary> [bindable(true), category("参数"),description("设定上传文件的个数"), defaultvalue("1")] public int filenum{ set{ if(value<1){ value=1; } filenum=value; this.controls.clear(); file=new htmlinputfile[filenum]; filename=new string[filenum]; suffix=new string[filenum]; for(int i=0;i<filenum;i++) { file[i]=new htmlinputfile(); this.controls.add(file[i]); } this.controls.add(button); } get{ return filenum; } } /// <summary> /// 上传按钮的文本 /// </summary> [bindable(true), category("参数"), description("设定上传文件路径"), defaultvalue("1")] /// <summary> /// 上传路径 /// </summary> public string uploadpath { set{ if("".equals(value)||value==null){ value=system.io.path.gettemppath(); } path=value; } get{ return path; } } /// <summary> /// 得到文件名 /// </summary> public string[] filename{ get{ return filename; } } /// <summary> /// 得到后缀 /// </summary> public string[] suffix{ get{ return suffix; } } /// <summary> /// 过滤器 /// </summary> public string filter{ set{ filter=value; } get{ return filter; } } /// <summary> /// 限制大小 /// </summary> public int filesize{ set{ size=value; } get{ return size; } } /// <summary> /// 快捷键 /// </summary> public override string accesskey{ get{ return button.accesskey; } set{ button.accesskey=value; } } /// <summary> /// 背景 /// </summary> public override system.drawing.color backcolor{ get{ return button.backcolor; } set{ button.backcolor=value; } } /// <summary> /// 边框颜色 /// </summary> public override system.drawing.color bordercolor{ get{ return button.bordercolor; } set{ button.bordercolor=value; } } /// <summary> /// 边框风格 /// </summary> public override borderstyle borderstyle{ get{ return button.borderstyle; } set{ button.borderstyle=value; } } /// <summary> /// 文本 /// </summary> [bindable(true), category("appearance"), defaultvalue("")] public string text { get { return button.text; } set { button.text = value; } } public fileupload():base(){ filenum=1; button.click+=new eventhandler(this.button_click); this.controls.add(button); } /// <summary> /// 按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_click(object sender, eventargs e){ upload(); ///添加你的代码 if(click!=null) click(sender,e); ///抛处事件 } /// <summary> /// 上传 /// </summary> private void upload(){ system.web.httppostedfile postedfile; for(int i=0;i<filenum;i++){ try{ postedfile=file[i].postedfile; if(postedfile!=null) { if(postedfile.contentlength>size && size!=0){ break; } string suf=getsuffix(postedfile.filename); if(filter!=null && filter.indexof(suf)>-1){ break; } filename[i]=datetime.now.ticks.tostring(); suffix[i]=suf; postedfile.saveas(system.io.path.combine(path,filename[i]+suf)); } }finally{ filename[i]=""; } } } /// <summary> /// 获取后缀名 /// </summary> /// <param name="filename">文件名</param> /// <returns>返回带.的后缀名</returns> private string getsuffix(string filename){ int index=filename.lastindexof("."); if(index>0){ return filename.substring(index); } return ""; } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值