热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何多部分(span)多文件上传文件,如何区分上传文件属于哪部分?如何用System.Web.HttpFileCollection取得控件的ID值?

(一)前台上传文件的界面,我分“协议”,“现场图片”,“附件”三部分;分别用m_span.nameFile1File2File3;后台程序怎么区分判断这几部分<sc


(一)前台上传文件的界面,我分“协议”,“现场图片”,“附件”三部分;分别用m_span.name =File1  File2 File3;后台程序
 怎么区分判断这几部分
 
 
 
 
 
             
                               >
               
                                协议 
                 
                 
                   
                     

                    
                     
              
            
         
        
         
             
                               >
               
                 现场图片 
                 
                 
                   
                 

                    
                     
                
            
         
        
         
             
                                >
               
                 附件(方案等) 
            
                 
                   
                 

                    
                     
           
         
            
         
 
 
 (二)后台上传文件的处理
    
    //遍历File表单元素
         System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
         int fileCount;
         int filecount = files.Count;
         try
         {
             MyConnection.Open();
             for (fileCount = 0; fileCount < files.Count; fileCount++)
             {
                 //定义访问客户端上传文件的对象
 
                 System.Web.HttpPostedFile postedFile = files[fileCount];
                 string trueName = "", fileExtension = "", file_Name = "";              
                 trueName = System.IO.Path.GetFileName(postedFile.FileName);
                 if (trueName != String.Empty)
                 {
                     //取得文件的扩展名
                     fileExtension = System.IO.Path.GetExtension(trueName);
                     file_Name = bh + "-" + DateTime.Now.ToString("yyyyMMddhhmmss") + fileExtension;
                     //file_Name="letter-"+bh.ToString()+"-"+fileCount+"-"+DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;
                     //SqlCommand cmdUpdate_add = new SqlCommand("insert into use_files(id,type,true_name,file_name) values('" + bh.ToString().Trim() + "','news_deal','" + trueName.ToString() + "','" + file_Name.ToString() + "') ", MyConnection);
                     //cmdUpdate_add.ExecuteNonQuery();
                     //保存上传文件到指定的目录
                     postedFile.SaveAs(Server.MapPath("./land_lend_up/Agreement") + file_Name);
                 }
             }
 
         }
         catch (System.Exception error)
         {
             //MessageBox(Page, "操作失败!错误:" + error.ToString());
         }
         finally
         {
             MyConnection.Close();
         }
 
 
 如何多部分(span)多文件上传文件,如何区分上传文件属于哪部分?
 如何用System.Web.HttpFileCollection取得控件的ID值?

2 个解决方案

#1


假设区域1的上传控件命名为


....


区域2上传控件命名为


....


区域n


....


上传处理代码可以如下

//区域名称前缀数组
            var tag = new string[] { "file_area1", "file_area2" };
            foreach (var bt in tag)
            {
                //按区域前缀取得上传文件
                foreach (var s in Request.Files.AllKeys.Where(p => p.StartsWith(bt)))
                {
                    //保存
                    Request.Files[s].SaveAs("你的保存路径");
                }
            }

#2


 for (fileCount = 1; fileCount <= files.Count; fileCount++) 
        {
            string name1 = "File1" + fileCount.ToString();
            System.Web.HttpPostedFile xx = this.Request.Files[name1];
            if (xx != null)
            {
                string trueName = "", fileExtension = "", file_Name = "";
                //取得上传得文件名

                trueName = System.IO.Path.GetFileName(xx.FileName);
                if (trueName != String.Empty)
                {  
                    max1 = max1 + 1;
                    //取得文件的扩展名
                    fileExtension = System.IO.Path.GetExtension(trueName);
                    file_Name = bh + "-" + max1.ToString()+ fileExtension;
                    //file_Name="letter-"+bh.ToString()+"-"+fileCount+"-"+DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;
                
                    SqlCommand cmdUpdate_add = new SqlCommand("insert into up_land_lend values('" + bh + "','协议','" + trueName + "','" + file_Name + "','" + max1.ToString() + "') ", MyConnection);
                    cmdUpdate_add.ExecuteNonQuery();
                    //保存上传文件到指定的目录
                    xx.SaveAs(Server.MapPath("./land_lend_up/Agreement/") + file_Name);
                }
            }
            string name2 = "File2" + fileCount.ToString();
            System.Web.HttpPostedFile yy = this.Request.Files[name2];
            if (yy != null)
            { 
                max2 = max2 + 1;
                string trueName = "", fileExtension = "", file_Name = "";
                //取得上传得文件名

                trueName = System.IO.Path.GetFileName(yy.FileName);
                if (trueName != String.Empty)
                {
                    //取得文件的扩展名
                    fileExtension = System.IO.Path.GetExtension(trueName);
                    file_Name = bh + "-" + max2.ToString() + fileExtension;
                    //file_Name="letter-"+bh.ToString()+"-"+fileCount+"-"+DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;
                   
                    SqlCommand cmdUpdate_add = new SqlCommand("insert into up_land_lend values('" + bh + "','照片','" + trueName + "','" + file_Name + "','" + max2.ToString() + "') ", MyConnection);
                    cmdUpdate_add.ExecuteNonQuery();
                    //保存上传文件到指定的目录
                    yy.SaveAs(Server.MapPath("./land_lend_up/photo/") + file_Name);
                }
            }

            string name3 = "File3" + fileCount.ToString();
            System.Web.HttpPostedFile zz = this.Request.Files[name3];
            if (zz!= null)
            { 
                max3 = max3 + 1;
                string trueName = "", fileExtension = "", file_Name = "";
                //取得上传得文件名

                trueName = System.IO.Path.GetFileName(zz.FileName);
                if (trueName != String.Empty)
                {
                    //取得文件的扩展名
                    fileExtension = System.IO.Path.GetExtension(trueName);
                    file_Name = bh + "-" + max3.ToString() + fileExtension;
                    //file_Name="letter-"+bh.ToString()+"-"+fileCount+"-"+DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;
                  
                    SqlCommand cmdUpdate_add = new SqlCommand("insert into up_land_lend values('" + bh + "','附件','" + trueName + "','" + file_Name + "','" + max3.ToString() + "') ", MyConnection);
                    cmdUpdate_add.ExecuteNonQuery();
                    //保存上传文件到指定的目录
                    zz.SaveAs(Server.MapPath("./land_lend_up/Attachment/") + file_Name);
                }
            }
         }
//取最大量循环比较,就是浪费点时间

推荐阅读
author-avatar
卢太爽
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有