ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法。

方法一:用Web控件FileUpload,上传到网站根目录。

Test.aspx关键代码:

  1. <form id="form1" runat="server">
  2. <asp:FileUpload ID="FileUpload1" runat="server" />
  3. <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" />
  4. <asp:Label ID="Label1" runat="server" Text="" Style="color: Red"></asp:Label>
  5. </form>

Test.aspx.cs关键代码:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. if (FileUpload1.HasFile)
  4. {
  5. FileUpload1.SaveAs(Server.MapPath("~/") + FileUpload1.FileName);
  6. Label1.Text = "上传成功!";
  7. }
  8. }

方法二:用Html控件HtmlInputFile,上传到网站根目录。

Test.aspx关键代码:

  1. <form id="form1" runat="server">
  2. <input type="file" id="file1" runat="server" />
  3. <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" />
  4. <asp:Label ID="Label1" runat="server" Text="" Style="color: Red"></asp:Label>
  5. </form>

Test.aspx.cs关键代码:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. if (file1.PostedFile.ContentLength > 0)
  4. {
  5. file1.PostedFile.SaveAs(Server.MapPath("~/") + Path.GetFileName(file1.PostedFile.FileName));
  6. Label1.Text = "上传成功!";
  7. }
  8. }

方法三:用Html元素<input type="file" …/>,通过Request.Files上传到网站根目录。

Test.aspx关键代码:

  1. <form id="form1" runat="server" enctype="multipart/form-data">
  2. <input type="file" name="file" />
  3. <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" />
  4. <asp:Label ID="Label1" runat="server" Text="" Style="color: Red"></asp:Label>
  5. </form>

Test.aspx.cs关键代码:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. if (Request.Files["file"].ContentLength > 0)
  4. {
  5. Request.Files["file"].SaveAs(Server.MapPath("~/") + Path.GetFileName(Request.Files["file"].FileName));
  6. Label1.Text = "上传成功!";
  7. }
  8. }

注意两个区别:

一:FileUpload.FileName获取客户端上传文件名(不带路径),而file1.PostedFile.FileName 和Request.Files["file"].FileName在不同浏览器下情况不同:IE8下获得的是客户端上传文件的完全限定名(带路径),谷歌、苹果等浏览器下则仍为文件名(不带路径)。

二:FileUpload控件有HasFile属性,用于判断用户是否选择了上传文件,而后面两种方法则需要通过判断上传文件大小ContentLength属性,当用户没有选择上传文件时,该属性值为0。

可以看出FileUpload封装程度更高,但灵活性也稍差。

转载原文:http://blog.csdn.net/dalmeeme/article/details/7187115

ASP.NET上传文件的三种基本方法的更多相关文章

  1. Web上传文件的三种解决方案

    第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

  2. ASP.NET上传文件的几种方法

      //上传文件实例 if (fileDealer.HasFile)//判断文件是否存在        {            string filepath = "";     ...

  3. net上传文件的三种方法

    ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...

  4. SpringMVC上传文件的三种方式(转)

    直接上代码吧,大伙一看便知 这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/common ...

  5. SpringMVC上传文件的三种方式

    直接上代码吧,大伙一看便知 这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/common ...

  6. SpringMVC上传文件的三种方式(转载)

    直接上代码吧,大伙一看便知 这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/common ...

  7. SpringMVC上传文件的三种方式(转帖)

    /* * 通过流的方式上传文件 * @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象 */ @Re ...

  8. 上传文件的三种方式xhr,ajax和iframe及上传预览

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. SpringMVC上传文件的三种方式(待整理...)

    参考链接 http://www.cnblogs.com/fjsnail/p/3491033.html

随机推荐

  1. MySQL my.cnf 参数说明

    MySQL 5.5.13 参数说明: [client] character-set-server = utf8 port    = 3306 socket  = /data/mysql/3306/my ...

  2. 开源搜索技术—Lucene、Solr

    Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引 ...

  3. C++读写EXCEL文件OLE,java读写excel文件POI 对比

    C++读写EXCEL文件方式比较 有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看.http://www.cnblogs.com/destim/p/5476915.html C++ ...

  4. orcale装完sqldevelop启动不了

    一直在搞考试,昨天考java企业级开发要交项目搞得我装系统后又装了个orcale,每次重新配百度太麻烦,还好记得点,记录下碰到的错误 64位的系统下的orcale11 64位里面的sqldevelop ...

  5. 张王李相亲应用if else

    package hello; public class to { public static void main(String[]args){ int a =1,b=0; int c =1,d=0; ...

  6. Linux学习笔记之权限与命令之间的关系(重要)及文件与文件夹知识总结

    一.让使用者能进入某文件夹成为可工作文件夹的基本权限为何: 可使用的命令:比如 cd 等变换工作文件夹的命令. 文件夹所需权限:使用者对这个文件夹至少须要具有 x的权限 额外需求:假设使用者想要在这个 ...

  7. android raw与assets资源

    *res/raw和assets的同样点: 1.两者文件夹下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点: 1.res/raw中的文件会被映射 ...

  8. .Net之一般处理程序

    1.一般处理程序是什么? 答:一般处理程序是以.ashx结尾的文件,默认命名为Handler1.ashx. 用在Web项目中,也就是我们常说的网站项目. 2.新建一个一般处理程序 1.1 新建一个空网 ...

  9. Winform获取当前程序名称或路径

    以下几种方法获取当前程序名称或路径: // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.      // 获 ...

  10. News feed

    1. Level 1.0 Database Schema: a. User UserID Name Age 1 Jason 25 2 Michael 26 b. Friendship Friendsh ...