`
vfh615gc
  • 浏览: 14359 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

ASP.NET 2.0使用FileUpload控件上传文件示例

 
阅读更多

ASP.NET 2.0使用FileUpload控件上传文件示例
2011年12月28日
  在ASP.NET 2.0中使用FileUpload服务器控件很容易的就能将文件上传到服务器,一个简单的例子如下:
  aspx:
  程序代码
  
  
  
  
  FileUpload上传文件示例-Mzwu.com
  
  
  
  
  
  上传文件" />
  
  
  
  
  aspx.cs:
  程序代码
  protected void Button1_Click(object sender, EventArgs e)
  {
  if (FileUpload1.HasFile)
  {
  try
  {
  FileUpload1.SaveAs(Server.MapPath("upload") + "\\" + FileUpload1.FileName);
  Label1.Text = "客户端路径:" + FileUpload1.PostedFile.FileName + "
" +
  "文件名:" + System.IO.Path.GetFileName(FileUpload1.FileName) + "
" +
  "文件扩展名:" + System.IO.Path.GetExtension(FileUpload1.FileName) + "
" +
  "文件大小:" + FileUpload1.PostedFile.ContentLength + " KB
" +
  "文件MIME类型:" + FileUpload1.PostedFile.ContentType + "
" +
  "保存路径:" + Server.MapPath("upload") + "\\" + FileUpload1.FileName;
  }
  catch (Exception ex)
  {
  Label1.Text = "发生错误:" + ex.Message.ToString();
  }
  }
  else
  {
  Label1.Text = "没有选择要上传的文件!";
  }
  }
  1.一次上传多个文件
  要一次上传多个文件,我们可以像传单个文件那样对每个文件单独进行处理,除此之外,我们还可以使用HttpFileCollection类捕获从Request对象发送来的所有文件,然后再单独对每个文件进行处理,代码如下:
  aspx.cs:
  程序代码
  protected void Button1_Click(object sender, EventArgs e)
  {
  string filepath = Server.MapPath("upload") + "\\";
  HttpFileCollection uploadFiles = Request.Files;
  for (int i = 0; i  0)
  {
  Label1.Text += "文件 #" + (i + 1) + ":" + System.IO.Path.GetFileName(postedFile.FileName) + "";
  postedFile.SaveAs(filepath + System.IO.Path.GetFileName(postedFile.FileName));
  }
  }
  catch (Exception Ex)
  {
  Label1.Text += "发生错误: " + Ex.Message;
  }
  }
  }
  2.上传文件类型的验证
  对上传文件类型的验证既可以在客户端进行,也可以在服务器端进行。客户端可以使用验证控件来进行,不过我们今天主要说说如何在服务器端进行验证。上边cs文件中已经用GetExtension获取了文件的扩展名,只要稍加判断即可实现上传类型的验证:
  aspx.cs:
  程序代码
  protected void Button1_Click(object sender, EventArgs e)
  {
  if (FileUpload1.HasFile)
  {
  fileExt = System.IO.Path.GetExtension(FileUpload1.FileName);
  if (fileExt == ".rar" || fileExt == ".zip")
  {
  try
  {
  FileUpload1.SaveAs(Server.MapPath("upload") + "\\" + FileUpload1.FileName);
  Label1.Text = "客户端路径:" + FileUpload1.PostedFile.FileName + "
" +
  "文件名:" + System.IO.Path.GetFileName(FileUpload1.FileName) + "
" +
  "文件扩展名:" + System.IO.Path.GetExtension(FileUpload1.FileName) + "
" +
  "文件大小:" + FileUpload1.PostedFile.ContentLength + " KB
" +
  "文件MIME类型:" + FileUpload1.PostedFile.ContentType + "
" +
  "保存路径:" + Server.MapPath("upload") + "\\" + FileUpload1.FileName;
  }
  catch (Exception ex)
  {
  Label1.Text = "发生错误:" + ex.Message.ToString();
  }
  }
  else
  {
  Label1.Text = "只允许上传rar、zip文件!";
  }
  }
  else
  {
  Label1.Text = "没有选择要上传的文件!";
  }
  }
  需要注意的是,我们不能过分依赖于客户端验证控件和服务器端上述方法的验证,因为用户只需将文件扩展名更改为允许的类型就可以避开上边的验证,这对用户来说并不是件困难的事情。
  3.解决文件大小限制
  在ASP.NET 2.0中FileUpload默认上传文件最大为4M,不过我们可以在web.cofig中修改相关节点来更改这个默认值,相关节点如下:
  程序代码
  
  
  
  maxRequestLength表示可上传文件的最大值,executionTimeout表示ASP.NET关闭前允许发生的上载秒数。
  4."multipart/form-data"和Request共存
  在ASP程序中一旦使用表单上传文件(form的enctype属性值为multipart/form-data),服务器端就不能再用Request.Form来获取表单的值,这种限制在ASP.NET 2.0中已经不存在了,也就是说,不用再将上传表单放置在iframe中了。
  aspx.cs:
  程序代码
  protected void Button1_Click(object sender, EventArgs e)
  {
  if (FileUpload1.HasFile)
  {
  try
  {
  FileUpload1.SaveAs(Server.MapPath("upload") + "\\" + FileUpload1.FileName);
  Label1.Text = "上传文件:" + FileUpload1.FileName + "
" +
  "说明:" + Request.Form["TextBox1"];//也可以用"TextBox1.Text"来获取说明
  }
  catch (Exception ex)
  {
  Label1.Text = "发生错误:" + ex.Message.ToString();
  }
  }
  else
  {
  Label1.Text = "没有选择要上传的文件!";
  }
  }
分享到:
评论

相关推荐

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    5-05.aspx FileUpload控件实现文件上传。 5-06.aspx BulletedList创建静态项目列表。 5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用...

    ASP.NET中上传控件FileUpload的项目示例

    ASP.NET中上传控件FileUpload的项目示例包含:单、多图片(或指定文件)的上传示例哦。

    零基础学ASP.NET 2.0&源代码绝对完整版1

    5-05.aspx FileUpload控件实现文件上传。 5-06.aspx BulletedList创建静态项目列表。 5-07.aspx BulletedList列表项响应用户事件。 5-08.aspx Image控件用法举例。 5-09.aspx 使用MultiView和View控件实现多...

    asp.net开发示例代码大全

    学习积累的代码段:共计75个,Asp.Net中使用水晶报表、ASP.NET 2.0高级控件之FileUpload控件

    fileupload控件示例

    fileupload控件的使用示例。。。

    asp.net控件demo--fileupload

    本示例演示: 针对[文件上传控件],通过自定义配置节,指定专属文件上传路径。 对上传文件进行加密,再进行保存; 解密文件进行呈现。

    Asp.net FileUpload+Image制作头像效果示例代码

    FileUpLoad控件使用介绍 FileUpLoad控件的PostedFile属性主要获取上传文件的一些基础信息。 .ContentLength 获取上传文件的大小。返回值为int类型,单位为字节。 用途 1、判断上传文件的大小 if (this.FileUpload1....

    asp.net教学讲义

    3.4 ASP.NET2.0新增控件 45 3.4.1 ImageMap控件 45 3.4.2 FileUpload控件 48 3.5 客户端处理 52 3.5.1 第一种方式示例: 52 3.5.2第二种方式:动态注册javascript指令块 53 3.6验证控件 54 3.6.1验证控件简介 54 ...

    ASP.NET 3.5 开发大全

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET3.5从入门到精通

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView 和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML 控件 5.17 验证控件 5.17.1 表单验证...

    ASP.NET 3.5 开发大全word课件

    11.4 用户控件示例 11.4.1 ASP.NET登录控件 11.4.2 ASP.NET登录控件的开发 11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的...

    ASP.NET 3.5 开发大全11-15

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET 3.5 开发大全1-5

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    ASP.NET Night Words

    6.5 fileupload控件 81 6.6 literal控件 84 6.7 panel控件 86 6.8 placeholder控件 88 6.9 总结 89 第7章 ado.net介绍 90 7.1 ado.net简介 90 7.2 connection对象 93 7.3 command对象 100 7.4 datareader...

    asp.net文件上传示例分享

    方法一:用Web控件FileUpload,上传到网站根目录。 Test.aspx关键代码: 代码如下:<form id=”form1″ runat=”server”><asp ID=”FileUpload1″ runat=”server”><asp ID=”Button1″ runat=”server” ...

    FileUpload-筛选文件类型/文件扩展名/文件大小

    用于过滤文件扩展名和文件大小的示例JavaScript

    ASPNET35开发大全第一章

    5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件...

    淘宝上价值380元的网站源代码打包 上传下载篇

    [上传下载]仿163网盘无刷新文件上传 for .Net_fileupload.rar [上传下载]协诚HTTP在线解压组件_sycode.httpmodules.webcompression.rar [上传下载]多文件上传源码_mutifileupload.rar [上传下载]多文件无刷新上传...

    jQuery+AJAX实现网页无刷新上传

    有时做一个网站项目 (不论是否 ASP.NET),内附的 FileUpload 控件,功能不足 (页面必须刷新、不支援 AJAX),或外观太丑被用户嫌弃 (却无法透过 CSS 自定义外观)。网路上虽已有许多可用的示例,如: jQuery File ...

Global site tag (gtag.js) - Google Analytics