FileUpload控件

属性:
FileName: 获取上传的文件名

HasFile: 是否选择(存在)上传的文件

ContentLength: 获得上窜文件的大小,单位是字节(byte)

方法:
Server.MapPath(): 获取服务器上的物理路径

SaveAs(): 保存文件到指定的文件夹

注意:默认情况下限制上传文件大小为4MB,通过web.config.comments(这个设置是全局的配置)可以修改其默认设置
或者通过修改web.config文件来改变应用程序上传限制.

如:

Xml代码

  1. <httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>

<httpRuntime maxRequestLength="10240" executionTimeout="150" enable="true"/>

元素解释:
maxRequestLength: 设置上传文件大小,单位是kb.

executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.

enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
通俗的说就是:是否允许用户访问该网站(是否允许Http请求)

注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.

如:

检查文件上传类型:
1).客户端检查(javascript实现)

2).服务器端检查

示例:

界面参考:

javascript:

Js代码

  1. function checkType(){
  2. //得到上传文件的值
  3. var fileName=document.getElementById("FileUpLoad1").value;
  4. //返回String对象中子字符串最后出现的位置.
  5. var seat=fileName.lastIndexOf(".");
  6. //返回位于String对象中指定位置的子字符串并转换为小写.
  7. var extension=fileName.substring(seat).toLowerCase();
  8. //判断允许上传的文件格式
  9. //if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){
  10. //alert("不支持"+extension+"文件的上传!");
  11. //return false;
  12. //}else{
  13. //return true;
  14. //}
  15. var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
  16. for(var i=0;i<allowed.length;i++){
  17. if(!(allowed[i]!=extension)){
  18. return true;
  19. }
  20. }
  21. alert("不支持"+extension+"格式");
  22. return false;
  23. }

function checkType(){

//得到上传文件的值

var fileName=document.getElementById("FileUpLoad1").value;

//返回String对象中子字符串最后出现的位置.

var seat=fileName.lastIndexOf(".");

//返回位于String对象中指定位置的子字符串并转换为小写.

var extension=fileName.substring(seat).toLowerCase();

//判断允许上传的文件格式

//if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){

//alert("不支持"+extension+"文件的上传!");

//return false;

//}else{

//return true;

//}

var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];

for(var i=0;i<allowed.length;i++){

if(!(allowed[i]!=extension)){

return true;

}

}

alert("不支持"+extension+"格式");

return false;

}

     .aspx:

Html代码

  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head runat="server">
  3. <title>无标题页</title>
  4. </head>
  5. <body>
  6. <form id="form1" runat="server">
  7. <div>
  8. <asp:FileUpload ID="FileUpLoad1" runat="server" />
  9. <br />
  10. <asp:Button ID="btnFileUpload" runat="server"
  11. OnClick="btnFileUpload_Click" Text="文件上传"
  12. OnClientClick="return checkType()" />
  13. <asp:Label ID="lblMessage" runat="server"></asp:Label>
  14. </div>
  15. </form>
  16. </body>
  17. </html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>无标题页</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:FileUpload ID="FileUpLoad1" runat="server" />

<br />

<asp:Button ID="btnFileUpload" runat="server"

OnClick="btnFileUpload_Click" Text="文件上传"

OnClientClick="return checkType()" />

<asp:Label ID="lblMessage" runat="server"></asp:Label>

</div>

</form>

</body>

</html>

.aspx.cs:

C#代码

  1. //文件上传按钮click事件
  2. protected void btnFileUpload_Click(object sender, EventArgs e)
  3. {
  4. if (FileUpLoad1.HasFile)
  5. {
  6. //判断文件是否小于10Mb
  7. if (FileUpLoad1.PostedFile.ContentLength < 10485760)
  8. {
  9. try
  10. {
  11. //上传文件并指定上传目录的路径
  12. FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")
  13. + FileUpLoad1.FileName);
  14. /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
  15. * 而是:FileUpLoad1.FileName?
  16. * 前者是获得客户端完整限定(客户端完整路径)名称
  17. * 后者FileUpLoad1.FileName只获得文件名.
  18. */
  19. //当然上传语句也可以这样写(貌似废话):
  20. //FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);
  21. lblMessage.Text = "上传成功!";
  22. }
  23. catch (Exception ex)
  24. {
  25. lblMessage.Text = "出现异常,无法上传!";
  26. //lblMessage.Text += ex.Message;
  27. }
  28. }
  29. else
  30. {
  31. lblMessage.Text = "上传文件不能大于10MB!";
  32. }
  33. }
  34. else
  35. {
  36. lblMessage.Text = "尚未选择文件!";
  37. }
  38. }

FileUpload控件的更多相关文章

  1. C# 自定义FileUpload控件

    摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和T ...

  2. FileUpload控件使用初步

    FileUpload控件使用初步   FileUpload控件使用初步: 1.实现文件上传 protected void btnSubmit_click(object sender, EventArg ...

  3. webform FileUpload控件实例应用 上传图片

    首先在根目录下建一个"images"文件: HTML: <form id="form1" runat="server"> < ...

  4. WebForm之FileUpload控件(文件上传)

    FileUpload控件要与Button.LinkButton.ImageButton配合使用 FileUpload控件的方法及属性: 1.SaveAs("要上传到服务器的绝对路径" ...

  5. ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...

  6. FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...

  7. Fileupload控件导致500错误

    问题: 今天遇到一个问题,用Fileupload控件上传Excel文件,用一个button控件调用“FileUpload1.SaveAs”方法,点击按钮后出现服务器500错误.如下图: 解决方法: 在 ...

  8. UpdatePanel1里面使用FileUpload控件

    最近做项目过程中,遇到了UpdatePanel1里面放了一个FileUpload控件,结果从后台就获取不到上传的文件了,找了好久才找到原因.原因: 加了红色部分后立马获取到了.

  9. Asp.net中FileUpload控件实现图片上传并带预览显示

    单一图片上传——“选择”+“上传”,.NET默认模式: 1.实现原理:     采用FileUpload控件默认的使用方式,先由“选择”按钮选择图片,然后单击“上传”按钮完成上传,并可在“上传”按钮的 ...

随机推荐

  1. Hortonworks 用于做 Sentimental Analysis的Hiveddl.sql 文件

    The hiveddl.sql script has performed the following steps to refine the data: Converted the raw Twitt ...

  2. asp.net + Jquery 实现类似Gridview功能 (一)

    不知不觉2015年就过去一半了,由于过年前后公司人员陆续离职(这个...),项目忙不过来,从过年来上班就一直在忙,最近项目终于告一段落,开始步入正轨(不用天天赶项目了).所以最近才有时间写这个东西,可 ...

  3. Json.Net介绍及实例

    本系列教程假设读者已经对Json有一定的了解,关于Json在这里不多说.本系列教程希望能对读者开发涉及到Json的.Net项目有一定的帮助.本系列教程是根据官方文档资料和自己项目应用汇总而成.如果觉得 ...

  4. HTTP状态码搜集

    一.1xx消息 这一类型的状态码,代表请求已经接受,需要继续处理. 这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束. 由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非 ...

  5. hbase 二级索引创建

    在单机上运行hbase 二级索引: import java.io.IOException; import java.util.HashMap; import java.util.Map; import ...

  6. android sdk manager无法更新

    问题描述:       Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示.   解决方法:     第一,我们先修改下hosts文件.该文件的位置在系统盘 ...

  7. php 代码重用

    <?php /* 21.php * 代码重用 * include() required()载入文件 * include() 如果载入文件不存在,提示警告,还可以继续执行 * required() ...

  8. 表达式 - PHP手册笔记

    PHP是一种面向表达式的语言.表达式的定义可以描述为,任何有值的东西. PHP支持全等运算符===(值和类型均相同)和非全等运算符!==(值或者类型不同). PHP的三元条件运算符貌似和C语言不太一样 ...

  9. python之列表、字典的使用

    一.概述:以后你在Linux里面写Python脚本的时候会经常用到Python列表.字典,因为你在以后写脚本的时候,大多数情况下都是对文件进行操作处理,使用字典和列表可以很好的操作文件,得出你想要的结 ...

  10. CodeForces 214B Hometask

    本题求n个数组成的大数,要求是2,3,5的倍数. 因为是2 和5 的倍数,所以个位为 0:所以若n个数中没有0,直接输出-1: 难点就是要求为3 的倍数. 因为若某个数为3的倍数,则其各位数的和必然是 ...