zoukankan      html  css  js  c++  java
  • ASP.NET(C#)实现一次性上传多文件

     

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.IO;

    //该源码下载自www.51aspx.com(51aspx.com)

    namespace DuoWenJianShangChuan
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {

            }

            protected void btnUpload_Click(object sender, EventArgs e)
            {

                {
            lblMessage.Text = "";
            lblMessage.Visible = false;
            System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
            System.Text.StringBuilder strmsg = new System.Text.StringBuilder("");
            string[] rd = Request.Form[1].Split(',');//获得图片描述的文本框字符串数组,为对应的图片的描述
            //string albumid=ddlAlbum.SelectedValue.Trim();
            int ifile;
            for (ifile = 0; ifile < files.Count; ifile++)
            {
                if (files[ifile].FileName.Length > 0)
                {
                    System.Web.HttpPostedFile postedfile = files[ifile];
                    if (postedfile.ContentLength / 1024 > 1024)//单个文件不能大于1024k
                    {
                        strmsg.Append(Path.GetFileName(postedfile.FileName) + "---不能大于1024k<br>");
                        break;
                    }
                    string fex = Path.GetExtension(postedfile.FileName);
                    if (fex != ".jpg" && fex != ".JPG" && fex != ".gif" && fex != ".GIF")
                    {
                        strmsg.Append(Path.GetFileName(postedfile.FileName) + "---图片格式不对,只能是jpg或gif<br>");
                        break;
                    }
                }
            }
            if (strmsg.Length <= 0)//说明图片大小和格式都没问题
            {
                //以下为创建图库目录
                string dirpath = Server.MapPath("51aspx");

                if (Directory.Exists(dirpath) == false)
                {
                    Directory.CreateDirectory(dirpath);
                }
                Random ro = new Random();
                int name = 1;
                for (int i = 0; i < files.Count; i++)
                {
                    System.Web.HttpPostedFile myFile = files[i];
                    string FileName = "";
                    string FileExtention = "";
                    FileName = System.IO.Path.GetFileName(myFile.FileName); 
                    string stro=ro.Next(100,100000000).ToString()+name.ToString();//产生一个随机数用于新命名的图片
                    string NewName =DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString()+stro;
                    if (FileName.Length > 0)//有文件才执行上传操作再保存到数据库
                    {
                        FileExtention = System.IO.Path.GetExtension(myFile.FileName);

                        string ppath = dirpath + @"\" + NewName + FileExtention;
                        myFile.SaveAs(ppath);
                      
                    }

                    name = name + 1;//用来重命名规则的变量
                   
                }

                Response.Write("<script>alert('恭喜,图片上传成功!')</script>");
            }
            else
            {
                lblMessage.Text = strmsg.ToString();
                lblMessage.Visible = true;
            }
        }

            }

        }
    }

    <%@ Page Language="C#"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">


        protected void Page_Load(object sender, EventArgs e)
        {

        }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>ASP.NET(C#)实现一次性上传多张图片(多个文件)</title>
            <script type="text/javascript">
            var i=1
            function addFile()
            {
        
             if (i<8)
                {var str = '<BR> <input type="file" name="File" runat="server" style=" 200px"/>描述:<input name="text" type="text" style=" 150px" maxlength="20" />'
                document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
           
                }
            else
                {
                    alert("您一次最多只能上传8张图片!")
                }
                i++
            }
            </script>
           
    </head>
    <body>
        <form id="form1" runat="server">
    <div>
            <table id="Table1" align="center" border="0" cellpadding="1" cellspacing="1" class="table">

                <tr>
                    <td align="center">
                        <font color="#0000ff" face="宋体" size="3"><strong>上传图片</strong></font></td>
                </tr>
                <tr>
                    <td align="center" style=" 734px">
                        &nbsp;</td>
                </tr>
                <tr>
                    <td align="center" style=" 734px">
                        <asp:Panel ID="Panel5" runat="server">
                            &nbsp; &nbsp;<table width="100%">
                                <tr>
                                    <td align="right" style=" 100px">
                                    </td>
                                    <td align="left" style=" 500px">
                                        说明:点增加图片按钮可一次上传多张图片,可为每张图片写上一句不超过20个字的描述。单张图片大小不大于1024k</td>
                                </tr>
                                <tr>
                                    <td align="right" style=" 100px">
                                        请选择图片:<br />
                                    </td>
                                    <td align="left" style=" 500px"><P id="MyFile"><INPUT onclick="addFile()" type="button" value="增加图片(Add)" id="Button1"><br />
                                        <input id="File1" type="file" name="File" runat="server" style=" 245px"/>
                                        描述:<input name="text" type="text" style=" 150px" maxlength="20" />
                                    </td>
                                </tr>

                                <tr>
                                    <td align="right" style=" 100px">
                                    </td>
                                    <td align="left" style=" 500px">
                                        <asp:Button ID="btnUpload" runat="server" Text="开始上传" OnClick="btnUpload_Click" />
                                        </td>
                                </tr>
                                <tr>
                                    <td align="right" style=" 100px; height: 21px;">
                                    </td>
                                    <td align="left" style=" 500px; height: 21px;">
                                        <asp:Label ID="lblMessage" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label></td>
                                </tr>
                            </table>
                        </asp:Panel>
                        &nbsp;
                    </td>
                </tr>
                <tr>
                    <td align="center" style=" 734px">
                        <font face="宋体"></font><font face="宋体">&nbsp;</font>
                    </td>
                </tr>
            </table>
       
        </div>

        </form>
    </body>
    </html>

     

  • 相关阅读:
    【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    107. Binary Tree Level Order Traversal II
    109. Convert Sorted List to Binary Search Tree
    108. Convert Sorted Array to Binary Search Tree
    110. Balanced Binary Tree
    STL容器迭代器失效问题讨论
    113. Path Sum II
    112. Path Sum
  • 原文地址:https://www.cnblogs.com/yongheng178/p/1262342.html
Copyright © 2011-2022 走看看