zoukankan      html  css  js  c++  java
  • aspx 文件上传和下载,多文件上传

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload.aspx.cs"
      Inherits="MultiFileUpload"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title>孟宪会多文件上传测试</title>

      <script type="text/javascript">
        function addFile() {
          var div = document.createElement("div");
          var f = document.createElement("input");
          f.setAttribute("type", "file")
          f.setAttribute("name", "File")
          f.setAttribute("size", "50")
          div.appendChild(f)
          var d = document.createElement("input");
          d.setAttribute("type", "button")
          d.setAttribute("onclick", "deteFile(this)");
          d.setAttribute("value", "移除")
          div.appendChild(d)
    document.getElementById("_container").appendChild(div);
        }

        function deteFile(o) {
          while (o.tagName != "DIV") o = o.parentNode;
          o.parentNode.removeChild(o);
        }
      </script>

    </head>
    <body>
      <form id="form1" runat="server" method="post" enctype="multipart/form-data">
      <h3>多文件上传</h3>
       用户名:<asp:TextBoxID="TextBox1" runat="server"></asp:TextBox>
      <div id="_container">
        <input type="file" size="50" name="File"/>
      </div>
      <div>
        <input type="button" value="添加文件(Add)" onclick="addFile()"/>
      </div>
      <div style="padding:10px 0">
        <asp:Buttonrunat="server" Text="开始上传" ID="UploadButton"
          onclick="UploadButton_Click"></asp:Button>
      </div>
      <div>
        <asp:Label ID="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"
          Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
      </div>
      </form>
    </body>
    </html>

    C#代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    publicpartialclass MultiFileUpload : System.Web.UI.Page
    {
        protectedvoid UploadButton_Click(object sender, EventArgs e)
        {
          ///'遍历File表单元素
          HttpFileCollection files = HttpContext.Current.Request.Files;

          /// '状态信息
          System.Text.StringBuilder strMsg = new System.Text.StringBuilder("您输入的用户名是:" + TextBox1.Text +"<br/>");
          strMsg.Append("上传的文件分别是:<hr color='red'/>");
          try
          {
            for (int iFile =0; iFile < files.Count; iFile++)
            {
              ///'检查文件扩展名字
              HttpPostedFile postedFile = files[iFile];
              string fileName, fileExtension;
              fileName = System.IO.Path.GetFileName(postedFile.FileName);
              if (fileName !="")
              {
                fileExtension = System.IO.Path.GetExtension(fileName);
                strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() +"<br>");
                strMsg.Append("客户端文件地址:" + postedFile.FileName +"<br>");
                strMsg.Append("上传文件的文件名:" + fileName +"<br>");
                strMsg.Append("上传文件的扩展名:" + fileExtension +"<br><hr>");
                ///'可根据扩展名字的不同保存到不同的文件夹
                ///注意:可能要修改你的文件夹的匿名写入权限。
                postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
              }
            }
            strStatus.Text = strMsg.ToString();
          }
          catch (System.Exception Ex)
          {
            strStatus.Text = Ex.Message;
          }

        }
    }

    下载

    public void Download(string path) //要下载文件的名称
    {  比如string path = "\images\a.text";自己检查自己的路径问题,有的需要添加上级目录 有的直接输入文件名就可
           if (!string.IsNullOrEmpty(path))     
           {             
              string filePath = Server.MapPath("")+path;//路径        
              // string filePath =@"C:UsersPublicPicturesSample Pictures1.jpg";
               FileInfo fileInfo = new FileInfo(filePath);         
               Response.Clear();                
               Response.ClearContent();           
               Response.ClearHeaders();               
               Response.AddHeader("Content-Disposition", "attachment;filename=" + fileInfo.Name);    
               Response.AddHeader("Content-Length", fileInfo.Length.ToString());                  
               Response.AddHeader("Content-Transfer-Encoding", "binary");                
               Response.ContentType = "application/octet-stream";                   
               Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");   
               Response.WriteFile(fileInfo.FullName);             
               Response.Flush();               
               Response.End();             
           }
    }
  • 相关阅读:
    1063. Set Similarity
    A1047. Student List for Course
    A1039. Course List for Student
    最大公约数、素数、分数运算、超长整数计算总结
    A1024. Palindromic Number
    A1023. Have Fun with Numbers
    A1059. Prime Factors
    A1096. Consecutive Factors
    A1078. Hashing
    A1015. Reversible Primes
  • 原文地址:https://www.cnblogs.com/lxboy2009/p/3837030.html
Copyright © 2011-2022 走看看