博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net文件上传之简单文件上传(上)
阅读量:4930 次
发布时间:2019-06-11

本文共 2483 字,大约阅读时间需要 8 分钟。

FileUpload控件

 

属性:

FileName: 获取上传的文件名

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

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

 

方法:

Server.MapPath(): 获取服务器上的物理路径
SaveAs(): 保存文件到指定的文件夹

 

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

或者通过修改web.config文件来改变应用程序上传限制.

 

如:

  

Xml代码  
  1. <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. }  

 

 

     .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>  

 

  .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.     }  

 

转载于:https://www.cnblogs.com/zhangxiaozhong/p/3198236.html

你可能感兴趣的文章
【CentOS_7】安装nginx
查看>>
Android 启动模式--任务(Task)--桟 的误区
查看>>
CSS框架BluePrint
查看>>
hadoop_eclipse及HDT插件的使用
查看>>
Oracle数据库02
查看>>
关于MediaPlayer的详细介绍
查看>>
腾讯UED 漂亮的提示信息
查看>>
Oracle 学习笔记(六)
查看>>
asp.net FileUpload上传文件
查看>>
gridview里找到控件
查看>>
C++编程基础一 29-if语句
查看>>
automic不安全详解(转)
查看>>
一个简单的环境光shader
查看>>
sublime 的简单应用1
查看>>
Ex5_17_1
查看>>
java web + mysql 的增删改查
查看>>
shell队列实现线程并发控制(转)
查看>>
hdu 4463 Outlets 解题报告
查看>>
hdu_5806_NanoApe Loves Sequence Ⅱ(双指针)
查看>>
codeforces 55d//Beautiful numbers// Codeforces Beta Round #51
查看>>