zoukankan      html  css  js  c++  java
  • ASP.NET 使用HTML file控件进行文件上传

    第一种:

    1  <form id="form1"enctype="multipart/form-data" action="Default.aspx" method="post" >
    2  <input type="button" value="添加附件" onclick="addAttachment()" />  
    3     <div id="divAttachment">  
    4     </div>  
    5    <input type="submit"  value="提交"/>
    6 </form>

    JS:

     1       <script language="javascript">
     2     function addAttachment() {  
     3             var div = document.createElement("div");  
     4             var input = document.createElement("input");  
     5             input.setAttribute("type", "file");  
     6             input.setAttribute("name", "file");  
     7             input.setAttribute("runat", "server");
     8             input.setAttribute("size", "50");  
     9             div.appendChild(input);  
    10          
    11             var btnRemove = document.createElement("a");  
    12             btnRemove.setAttribute("href", "#");  
    13             btnRemove.innerText = "删除";  
    14             btnRemove.setAttribute("onclick", "removeAttachment(this)");    
    15             btnRemove.setAttribute("style", "text-decoration: none");  
    16             var span = document.createElement("span");  
    17             span.setAttribute("style", "padding-left: 5px");  
    18             span.appendChild(btnRemove);  
    19             div.appendChild(span);  
    20             document.getElementById("divAttachment").appendChild(div);  
    21         }  
    22         function removeAttachment(ctrl) {  
    23             while (ctrl.tagName != "DIV") {  
    24            
    25                 ctrl = ctrl.parentNode;  
    26             }  
    27             ctrl.parentNode.removeChild(ctrl);  
    28         }  
    29       
    30  </script>

    后台代码:

     1  protected void Page_Load(object sender, EventArgs e)
     2     {
     3 
     4         if (!Page.IsPostBack) {
     5             System.Web.HttpFileCollection files = Request.Files;
     6 
     7             for (int fileCount = 0; fileCount < files.Count; fileCount++)
     8             {
     9 
    10                 System.Web.HttpPostedFile postedfile = files[fileCount];
    11                 int size = postedfile.ContentLength;
    12                 if (size <= 8388608)
    13                 {
    14                     string fileName = System.IO.Path.GetFileName(postedfile.FileName);
    15                     if (!String.IsNullOrEmpty(fileName))
    16                     {
    17 
    18                         string fileExtension = System.IO.Path.GetExtension(fileName);    //获取文件类型  
    19 
    20                         //上传目录  
    21                         string directory = Server.MapPath("upload");
    22                         //文件全路径  
    23                         string path = directory + "\" + fileName;
    24 
    25                         //判断目录是否存在  
    26                         if (!Directory.Exists(directory))
    27                         {
    28                             Directory.CreateDirectory(directory);
    29                         }
    30                         //文件存在就删除文件  
    31                         if (File.Exists(path))
    32                         {
    33                             File.Delete(path);
    34                         }
    35                         //上传到服务器的路径  
    36 
    37                         postedfile.SaveAs(path);
    38                     }
    39                 }
    40                 else if (size > 8388608)
    41                 {
    42                     Response.Write("<script>alert('上传文件不得超过8M');</script>");
    43 
    44                 }
    45             }  
    46         
    47         }
    48    }

    第二种:

    使用asp.net的服务器控件 BUTTON按钮进行提交

    <form id="form1" runat="server"  enctype="multipart/form-data" action="Default.aspx" method="post" >
    
     <input type="button" value="添加附件" onclick="addAttachment()" />  
     <div id="divAttachment">  
     </div>  
     <asp:Button runat="server" ID="button1" Text="提交" OnClick="sub_Fun" />
     </form>

    上面JS中去掉

    input.setAttribute("runat", "server");
    后台代码添加一个 public void sub_Fun(object sender, EventArgs e){}函数即可。
  • 相关阅读:
    前端总结数据结构与算法基础
    Linux 常用命令
    mariadb下载二进制包源码包地址(使用清华)
    centos7添加永久静态路由
    登录普通用户会报错-bash: ulimit: open files: cannot modify limit: Operation not permitted
    编写二进制安装mariadb10.2的ansible-playbook剧本
    su
    URL后面加不加“/”有区别吗?
    RocketMQ在面试中那些常见问题及答案+汇总
    通过实现网站访问计数器带你理解 轻量级锁CAS原理,还学不会算我输!!!
  • 原文地址:https://www.cnblogs.com/eason-chan/p/3638488.html
Copyright © 2011-2022 走看看