• FileUpload控件


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

      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.   
    5.         if (FileUpLoad1.HasFile)        
    6.         {        
    7.             //判断文件是否小于10Mb   
    8.             if (FileUpLoad1.PostedFile.ContentLength < 10485760)        
    9.             {        
    10.                 try  
    11.                 {        
    12.                     //上传文件并指定上传目录的路径   
    13.                     FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")        
    14.                         + FileUpLoad1.FileName);        
    15.                     /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName       
    16.                     * 而是:FileUpLoad1.FileName?  
    17.                     * 前者是获得客户端完整限定(客户端完整路径)名称  
    18.                     * 后者FileUpLoad1.FileName只获得文件名.       
    19.                     */  
    20.   
    21.                     //当然上传语句也可以这样写(貌似废话):        
    22.                     //FileUpLoad1.SaveAs(@"D:"+FileUpLoad1.FileName);        
    23.   
    24.                     lblMessage.Text = "上传成功!";   
    25.                 }        
    26.                 catch (Exception ex)        
    27.                 {        
    28.                     lblMessage.Text = "出现异常,无法上传!";        
    29.                     //lblMessage.Text += ex.Message;        
    30.                 }        
    31.   
    32.             }        
    33.             else  
    34.             {        
    35.                 lblMessage.Text = "上传文件不能大于10MB!";   
    36.             }        
    37.         }        
    38.         else  
    39.         {        
    40.             lblMessage.Text = "尚未选择文件!";   
    41.         }        
    42.     }  
  • 相关阅读:
    AJAX
    选择器
    断电原则
    radio为什么不能选择。急急急
    IBase<T>
    委托
    Log4Net
    博弈论 学习笔记
    解决You have new mail in /var/spool/mail/root提示
    Zookeeper分布式安装部署
  • 原文地址:https://www.cnblogs.com/asderx/p/4390020.html
Copyright © 2020-2023  润新知