天天看點

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

網上包括園子裡有很多多檔案上傳的例子,但是沒有完整的示例代碼,本人整理了一下釋出出來,這樣更直覺,希望對大家有所幫助

開發環境VS2005

<a href="http://www.51aspx.com/CV/51aspxUploads" target="_blank">下載下傳該源碼</a>

部分源碼

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

 public partial class _Default : System.Web.UI.Page

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

    {

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        static public ArrayList hif = new ArrayList(); // 儲存檔案清單

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        public int filesUploaded = 0; // 上傳檔案的數量

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        protected void Page_Load(object sender, EventArgs e)

        {

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        }

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

       /// &lt;summary&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// 将要上傳的檔案添加到listbox中

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

       /// &lt;/summary&gt;

       /// &lt;param name="sender"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

       /// &lt;param name="e"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        protected void AddFile_Click(object sender, EventArgs e)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            if (Page.IsPostBack == true)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            {

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                hif.Add(FindFile);

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                FileList.Items.Add(FindFile.PostedFile.FileName);

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            }

            else

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            { }

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// &lt;summary&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// 從listbox中删除指定的檔案

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// &lt;/summary&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// &lt;param name="sender"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        /// &lt;param name="e"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        protected void RemvFile_Click(object sender, EventArgs e)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            if (FileList.SelectedIndex == -1)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                TipInfo.Text = "錯誤 - 必須指定要删除的檔案.";

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                return;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            else if (FileList.Items.Count != 0)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                hif.RemoveAt(FileList.SelectedIndex);

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                FileList.Items.Remove(FileList.SelectedItem.Text);

                TipInfo.Text = "";

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            }           

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

          /// &lt;summary&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

  /// 循環上傳listbox中的檔案到指定的檔案夾下

  /// &lt;/summary&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

  /// &lt;param name="sender"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

  /// &lt;param name="e"&gt;&lt;/param&gt;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

        public void Upload_ServerClick(object sender, System.EventArgs e)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            string baseLocation = Server.MapPath("UploadFiles/"); // 上傳路徑   

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

            string status = "";  // 上傳成功後顯示的檔案清單         

            if ((FileList.Items.Count == 0) &amp;&amp; (filesUploaded == 0))

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                TipInfo.Text = "錯誤 - 必須指定要上傳的檔案.";

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)

                {

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                    try

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                    {

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                        string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);

                        HIF.PostedFile.SaveAs(baseLocation + fn);

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                        filesUploaded++;

                        status += fn + "&lt;br&gt;";

                    }

                    catch (Exception err)

                        TipInfo.Text = "上傳錯誤 " + baseLocation

                         + "&lt;br&gt;" + err.ToString();

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                }

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                if (filesUploaded == hif.Count)

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                    TipInfo.Text = "共上傳了 " + filesUploaded + " 個檔案。 &lt;br&gt;" + status;

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)
多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

                hif.Clear();

                FileList.Items.Clear();

多檔案上傳示例源碼(預設支援各種類型,包括圖檔)

    }

本文轉自 liudao 部落格園部落格,原文連結:http://www.cnblogs.com/liudao/archive/2007/04/10/706835.html,如需轉載請自行聯系原作者

繼續閱讀