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

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

Test.aspx关键代码:

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

Test.aspx.cs关键代码:

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

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

Test.aspx关键代码:

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

Test.aspx.cs关键代码:

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

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

Test.aspx关键代码:

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

Test.aspx.cs关键代码:

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

注意两个区别:

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

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

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

ASP.NET上传文件的三种基本方法相关推荐

  1. django文件上传到服务器,django上传文件的三种方式

    Django文件上传需要考虑的重要事项 文件或图片一般通过表单进行.用户在前端点击文件上传,然后以POST方式将数据和文件提交到服务器.服务器在接收到POST请求后需要将其存储在服务器上的某个地方.D ...

  2. 上传文件的几种主要方法。

    上传文件的几种主要方法. 第一种:经典的form和input上传. 设置form的aciton为后端页面,enctype="multipart/form-data",type='p ...

  3. java spring上传_SpringMVC上传文件的三种方式

    直接上代码吧,大伙一看便知 前台: pageEncoding="utf-8"%> Insert title here 采用流的方式上传文件 采用multipart提供的fil ...

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

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

  5. Linux远程上传文件的三种方式详解

    1.FileZilla(直接拖) https://www.filezilla.cn/download/client 2.lrzsz 2.1.yum install lrzsz 2.2.在CRT中配置上 ...

  6. flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)

    文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...

  7. windows和虚拟机互传文件的三种方式

    大家好,在平时学习工作的时候可能有这样的需求:要将windows中的文件传到虚拟机中或者将虚拟机的文件传到windows,大家都是怎么实现的呢? 今天给大家介绍下windows和虚拟机互传文件的三种方 ...

  8. Asp.net上传文件至目录

    Asp.net上传文件,把文件存入至目录中.限制上传文件大小,限制上传文件格式.存取得原来文件名,创建新的文件名. 把文件临时存入临时目录中,处理完毕,最后再移至真正目录. 参考代码:  //上传时, ...

  9. django + python上传文件的两种方式

    突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...

最新文章

  1. PHP中对象的深拷贝与浅拷贝
  2. 收藏网站制作常用经典css.div.布局.设计实例打包下载(下方有其他链接)
  3. JAR包命令解压以及再命令打包
  4. 小米四曲面瀑布屏概念手机亮相:按键、开孔、边框全部消失
  5. Python获取文件夹下的所有文件名
  6. ValueError: could not broadcast input array from shape (*,*) into shape (*)
  7. java之方法覆盖的坑
  8. domcontentloaded ajax,Ajax优化(1) — DOMContentLoaded
  9. 如何将wmv视频格式快速转换成mp4视频呢
  10. 【人工智能】无人车系统仿真软件-PreScan
  11. ctc5(ctc5160)
  12. 【转载】MAC帧在经过路由器时,其源地址和目的地址会发生改变,路由器的目的地址会出现子在MAC帧中”如何理解?
  13. 《别做正常的傻瓜》1——结果偏见
  14. 第九周项目三:星星图案(一)
  15. macbook 如何卸载 homebrew
  16. 用excel替换word里的文字,deepcopy
  17. 华为设备配置DNS客户端
  18. JVM的GC算法详解(二)
  19. JSP教师辅助办公软件教学进程管理系统yeclipse开发mysql数据库bs框架java编程jdbc详细设计
  20. 计算机音乐谱牵丝戏,《天谕手游》牵丝戏乐谱代码分享-天谕云之光在哪

热门文章

  1. 数据存储方式有哪些?这3种数据存储方式了解吗?
  2. 前端加密(纯前端加密不保险,请谨慎使用,尽量后台加密)
  3. 雅礼集训2017day1 矩阵
  4. 绿芯丨推出智能门锁触摸芯片,助力门锁行业创新
  5. STM32用超声波测距模块实现测距
  6. Linux shell脚本、定时备份mysql数据库、sendMail邮件发送
  7. 计算机辅助教学在教育教学中有哪些作用,计算机辅助教学在课堂中的应用
  8. 机械制图之平面与平面立体表面的交线
  9. d3_v7.js绘制词云图
  10. 解决Ext.TextField的AllowBlank不能过滤空格代码