明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 321万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
  1public partial class UpMultiFileControl2 : System.Web.UI.UserControl
  2{
  3    protected void Page_Load(object sender, EventArgs e)
  4    {
  5        if (!Page.IsPostBack)
  6        {
  7            SaveCurrentPageFileControls();
  8        }

  9    }

 10    protected void btAddFile_Click(object sender, EventArgs e)
 11    {
 12        AddOneFileControl();
 13    }

 14
 15    /// <summary>
 16    /// 添加一个上传文件控件
 17    /// </summary>

 18    private void AddOneFileControl()
 19    {
 20        ArrayList al = new ArrayList();
 21        this.tbFiles.Rows.Clear();
 22        GetFileControlsFromSession();        
 23        HtmlTableRow htr = new HtmlTableRow();
 24        HtmlTableCell htc = new HtmlTableCell();        
 25        htc.Controls.Add(new FileUpload());
 26        htr.Controls.Add(htc);
 27        this.tbFiles.Rows.Add(htr);
 28        SaveCurrentPageFileControls();
 29    }

 30
 31    /// <summary>
 32    /// 读取缓存中存储的上传文件控件集
 33    /// </summary>

 34    private void GetFileControlsFromSession()
 35    {
 36        ArrayList al = new ArrayList();       
 37        if (Session["FilesControls"!= null)
 38        {
 39            al = (System.Collections.ArrayList)Session["FilesControls"];
 40            for (int i = 0; i < al.Count; i++)
 41            {
 42                HtmlTableRow htr1 = new HtmlTableRow();                
 43                HtmlTableCell htc1 = new HtmlTableCell();
 44                htc1.Controls.Add((System.Web.UI.WebControls.FileUpload)al[i]);
 45                htr1.Controls.Add(htc1);
 46                this.tbFiles.Rows.Add(htr1);
 47            }

 48        }

 49    }

 50    
 51    /// <summary>
 52    /// 保存当前页面上传文件控件集到缓存中
 53    /// </summary>    

 54    private void SaveCurrentPageFileControls()
 55    {        
 56        ArrayList al = new ArrayList();        
 57        foreach (Control controlTR in this.tbFiles.Controls)
 58        {
 59            if (controlTR.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlTableRow")
 60            {
 61                HtmlTableCell htc = (HtmlTableCell)controlTR.Controls[0];
 62                foreach (Control controlFileUpload in htc.Controls)
 63                {
 64                    if (controlFileUpload.GetType().ToString() == "System.Web.UI.WebControls.FileUpload")
 65                    {
 66                        FileUpload tempFileUpload = (FileUpload)controlFileUpload;
 67                        al.Add(tempFileUpload);
 68                    }

 69                }

 70            }
            
 71        }
  
 72        Session.Add("FilesControls", al);
 73    }

 74
 75    protected void btUpFiles_Click(object sender, EventArgs e)
 76    {
 77        UpLoadFiles();
 78    }

 79
 80    /// <summary>
 81    /// 上传文件操作
 82    /// </summary>

 83    private void UpLoadFiles()
 84    {
 85        string filepath = Server.MapPath("./")+"UploadFiles";
 86        
 87        HttpFileCollection uploadedFiles = Request.Files;       
 88        for (int i = 0; i < uploadedFiles.Count; i++)
 89        {    
 90           HttpPostedFile userPostedFile = uploadedFiles[i];        
 91           try
 92           {    
 93              if (userPostedFile.ContentLength > 0 )
 94              {  
 95                 userPostedFile.SaveAs(filepath + "\\" + System.IO.Path.GetFileName(userPostedFile.FileName));
 96                 Response.Write("已上传文件: \"" + filepath +"\\"+ userPostedFile.FileName +"\"<br><br>" );                                   
 97              }
    
 98           }
 
 99           catch
100           {
101               Response.Write("上传文件: \"" + userPostedFile.FileName +"\"出错!");
102           }
    
103       }

104       if (Session["FilesControls"!= null)
105       {
106           Session.Remove("FilesControls");
107       }

108    }
    
109}

 

(三). 改变上传文件大小和时间限制

       <httpRuntime>
            executionTimeout="110"              //上传等待时间
            maxRequestLength="4096"        //上传文件大小,默认为4M
       </httpRuntime>

       上传文件大小是由上面两个参数所决定的.  涉及到安全因素,不要设得太大.    

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示