C# 同時上傳多個檔案!

來源:互聯網
上載者:User

 

<TABLE class="tabcolor0" cellSpacing="1" cellPadding="3" width="98%" border="0"> 
            <TR> 
                <TD class="tabcolor2" style="WIDTH: 132px"> 
                    <DIV align="right">上傳檔案</DIV> 
                </TD> 
                <TD class="tabcolor3">輸入檔案個數(小於5個): 
                    <asp:TextBox id="txtNum" runat="server" Width="40px">0</asp:TextBox> 
                    <asp:Button id="Button1" runat="server" Text="確定" CausesValidation="False"></asp:Button></TD> 
            </TR> 
            <TR> 
                <TD class="tabcolor2" style="WIDTH: 132px"> 
                    <DIV align="right">&nbsp;</DIV> 
                </TD> 
                <TD class="tabcolor3"> 
                    <asp:Repeater id="Repeater1" runat="server"> 
                        <ItemTemplate> 
                            檔案標題: 
                            <asp:TextBox id="fileTitle" runat="server"></asp:TextBox> 
                            <input id="upfile" type="file" name="file" runat="server"><br /> 
                        </ItemTemplate> 
                    </asp:Repeater> 
                </TD> 
            </TR> 
                        <TR>
                            <TD class="tabcolor3" align="center" colSpan="2"><asp:button id="btnAdd" runat="server" Text="增 加"></asp:button></TD>
                        </TR>
</TABLE> 

在你的ASPX 頁面把上面的代碼放在<FORM id="Form1" method="post" runat="server"> 和 </FORM>之間

然後在你的代碼裡面放入下面代碼即可同時上傳多個圖片!

private void Button1_Click(object sender, System.EventArgs e)
        {
            IList list = new ArrayList();
            for(int i = 0; i < Int32.Parse(this.txtNum.Text); i++)
            {
                list.Add(1);
            }
            Repeater1.DataSource = list;
            this.Repeater1.DataBind();
        }

private void btnAdd_Click(object sender, System.EventArgs e)
{
                int filenum = Int32.Parse(this.txtNum.Text);    
                string strfilename = "";//返回: 標題|檔案名稱;標題|檔案名稱;標題|檔案名稱
                if(filenum > 0)
                {
                    System.Web.UI.HtmlControls.HtmlInputFile[] f = new HtmlInputFile[filenum];
                    System.Web.UI.WebControls.TextBox[] myTitle = new TextBox[filenum];

                    for( int i=0;i < filenum;i++)
                    {
                        f[i] = (HtmlInputFile)(this.Repeater1.Controls[i].FindControl("upfile"));
                        myTitle[i] = (TextBox)(this.Repeater1.Controls[i].FindControl("fileTitle"));
                        

                        if(f[i].PostedFile.FileName != "" && myTitle[i].Text != "")
                        {
                            //開始上傳
                            string[] filetype = new string[]{"jpg","gif","png","JPG","GIF","PNG"};
                            
                            if(strfilename == null || strfilename =="")
                            {
                                strfilename =  myTitle[i].Text + "|" + new Upload().UploadFile(path , 204800, filetype, f[i]);
                            }
                            else
                            {
                                strfilename += ";"+  myTitle[i].Text + "|" +  new Upload().UploadFile(path , 204800, filetype, f[i]);
                            }

                            /*
                            Response.Write(i + ":");
                            Response .Write(myTitle[i].Text + "|");
                            Response.Write(f[i].PostedFile.FileName +"<br/>");
                            */
                        }
                    }
               }
}

注意:本程式使用了一個上傳類.
http://joejoe.cnblogs.com/archive/2005/12/21/301581.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.