青海网站建设、网络推广最好的公司--您身边的网站建设专家,马上拿起电话,联系我们:0971-8235355   
青海西宁网站建设、网站制作公司-西宁威势电子信息服务有限公司 首页 |  公司简介 |  网站建设 |  网络推广 |  空间租用 |  域名注册 |  企业邮局 |  网络安全 |  网站编程 |  客服中心 |  联系我们 |  人才招聘
 
西宁威势最新网站制做案例展示
Lastest Project
 
西宁网站建设  
当前位置为:首页 >> .NET编程 >> 正文  
实现多文件上传,动态添加控件的写法

文章来源: 西宁威势电子信息服务有限公司     发布时间:2010-2-3    浏览次数:4536   

在Net程序开发中,有时上传功能会实现让用户上传多个图片或文件,一个一个上传肯定有点麻烦,而且还不人性化。如果做成死的,一次上次,三个,或是五个的,有时候还不够用,这就很烦了。下面这种方法,在上传的地方加一个按钮,如果用户想上传几个就点几次,这样就会出现多个上传框,让他选择,好了,不多说了。下面是代码:
前台代码

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>文件上传_IT知道网itwis.com</title>
    <script language="javascript" type="text/javascript">
       function addFile(max)
       {
          var file = document.getElementsByName("File");
          alert(file.length);
          if(file.length==1 && file[0].disabled==true)
          {
              file[0].disabled = false;
              return;
          }
         
          if(file.length<max)
          {             
              var fileButton = '<br /><input type="file" size="50" name="File" />';
              alert(fileButton);
              document.getElementById("FileList").insertAdjacentHTML("beforeEnd",fileButton);
          }
       }
    </script>
</head>
<body>
    <form id="form1" runat="server" enctype="multipart/form-data">
    <p id="FileList">
       <input type="file" disabled="disabled" size="50" name="File" />
    </p>
       <input type="button" value='增加一个文件' onclick="addFile(<%=MaxFileCounts%>)" />
        <br />
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
这里有一点要注意的是<input type="button" value='增加一个文件' onclick="addFile(<%=MaxFileCounts%>)" />这里面的MaxFileCounts。这个是用户上传最大数的一个限制。你可以在这里写成死值,也可以在CS进行配置,主要看你的需求。

下面是cs文件了

       这里的MaxFileCount是在我配置文件写的,你可以根据你的情况写。

       public int MaxFileCounts = MaxFileCount;     

        protected void Page_Load(object sender, EventArgs e)
        {        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            HttpFileCollection fileList = HttpContext.Current.Request.Files;
            if (fileList == null)
            {
                return;
            }

            FileImage file = new FileImage();//这是自定义的一个写库的类,可根据实际情况自我定义。
            try
            {
                for (int i = 0; i < fileList.Count; i++)
                {
                    HttpPostedFile postedFile = fileList[i];
                    if (postedFile == null)
                        continue;

                    string fileName = Path.GetFileNameWithoutExtension(postedFile.FileName);
                    string extension = Path.GetExtension(postedFile.FileName);
                    if (string.IsNullOrEmpty(extension) == true)
                        continue;

                    bool flag = false;
                    foreach (string ext in AllowFileList)
                    {
                        if (ext == extension.ToLower())
                        {
                            flag = true;
                        }
                    }

                    if (flag == false)
                        continue;
                    string storeUrl = DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + extension.ToString();
                    string Url = storeFilePath + storeUrl;
                    string fullPath = Server.MapPath(Url);
                    postedFile.SaveAs(fullPath);
                    Hashtable ht = new Hashtable();
                    ht.Add("Title",fileName);
                    ht.Add("imgUrl",storeUrl);
                    ht.Add("imgType",postedFile.ContentType);
                    ht.Add("imgSize",postedFile.ContentLength);
                    file.insertImage(ht);  //这里是我的添加语句,你可写成你自己的。
                }
            }
            catch (Exception ex)
            {
                this.Label1.Text = ex.Message;
            }
        }


上一篇:[原创] ASP.NET 文章内容分页程序
下一篇:在ASP.NET页面中动态添加控件
评论列表
正在加载评论……
  
评论   
呢  称:
验证码: 若看不清请点击更换!
内  容:
 
 
  在线洽谈咨询:
点击这里,在线洽谈   点击这里,在线洽谈   点击这里,在线洽谈
与我交谈  与我交谈 与我交谈
乘车路线    汇款方式   加盟合作  人才招聘  
公司地址:青海省西宁市西关大街73号(三二四部队招行所四楼)     青ICP备13000578号-1 公安机关备案号:63010402000123    
QQ:147399120    mail:lostlove000@163.com    电话: 13897410341    邮编:810000
© Copyright( 2008-2009) QhWins.Com All Rights Reserved    版权所有:西宁威势电子信息服务有限公司 未经书面制授权,请勿随意转载!
业务:青海网站制做青海网站建设青海网页设计西宁网站制做西宁网站建设青海域名注册青海网络推广青海网站推广青海空间租用青海软件开发网站安全网络安全