• 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();             
           }
    }
  • 相关阅读:
    (转载)gethostbyname() 用域名或主机名获取IP地址
    (转载)Linux网络编程inet_aton和inet_network和inet_addr三者比较
    (转载)Linux网络编程inet_pton与inet_ntop
    (转载)获取以太网卡的MAC地址
    (转载)Linux网络编程使用gethostbyaddr,通过ip地址,得到该ip地址的主机的信息
    (转载)Linux网络编程inet_ntoa问题记录
    Linux中pthread_detach()线程注意
    regexpfield tcl tk
    Iwidgets checkbox
    iwidgets hyperhelp tcl tk
  • 原文地址:https://www.cnblogs.com/lxboy2009/p/3837030.html
Copyright © 2020-2023  润新知