zoukankan      html  css  js  c++  java
  • ASP.NET多文件上传实例

    在Web应用程序开发中,避免不了要用到上传文件这个功能,但以前上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:

    <%@ 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>ASP.NET多文件上传测试</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:TextBox ID="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:Button runat="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>

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Web;

    using System.Web.UI;

    using System.Web.UI.WebControls;

     

    public partial class MultiFileUpload : System.Web.UI.Page

    {

        protected void 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;

          }

     

        }

    }

  • 相关阅读:
    Python模块介绍及常见报错
    Vue入门及基本使用
    仿黑客帝国片头文字流星雨
    CSS3之flex布局演示
    京东商城延迟加载
    python第四次学习笔记
    python第二次学习笔记
    今天的第一个程序
    python第一次学习笔记(可能会有更新)
    ios导航条透明
  • 原文地址:https://www.cnblogs.com/angelasp/p/3624986.html
Copyright © 2011-2022 走看看