好贷网好贷款

Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)

发布时间:2016-12-3 12:42:36 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)",主要涉及到Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)方面的内容,对于Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)感兴趣的同学可以参考一下。

 Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载) 学习, And 整理了一下. (一). 示例图片       (二). 示例代码     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           catch100           {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>        上传文件大小是由上面两个参数所决定的.  涉及到安全因素,最好不要设得太大.       (四). 示例源代码下载        http://www.cnblogs.com/Files/ChengKing/UpMultiFileControl.rar Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=699244  

上一篇:是一种激励还是一种打击!!---三张offer(转贴)
下一篇:ASP.NET 2.0(C#)实现多文件上传

相关文章

相关评论