首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 實現 Web 檔案上傳兩種方法(一):基礎表單與上傳邏輯

     編輯:關於C語言

在 Web 程式設計中,我們常需將本地檔案上傳至 Web 伺服器,上傳後用戶可透過瀏覽器方便瀏覽,應用極廣。

如何用 C# 實現檔案上傳功能?以下簡要介紹。

建立上傳表單

在 Visual C# Web 專案中新增上傳用 Web Form。從 ToolBox 選擇 Html 類 File Field 控制項加入 Web Form,但此時該控制項非伺服端控制項,需加上代碼:

<form method=post enctype=multipart/form-data runat="server">

這樣它成為伺服端控制項。若需同時上傳多檔案,可相應增加此控制項。

注意:代碼中一定要把 <form> 屬性設為:

<form method=post enctype=multipart/form-data runat="server">

若無此屬性無法實現上傳。

上傳程式碼

在 Web Form 增加 Web Form 類 Button,雙擊加入代碼:

// 上傳圖片程式碼段
DateTime now = DateTime.Now; // 取目前時間到 DateTime 物件 now
string strBaseLocation = "D:\\web\\FC\\pic\\"; // 檔案將上傳到伺服器絕對目錄
if (uploadfile1.PostedFile.ContentLength != 0) // 判斷選取對話方塊選取檔案長度是否為 0
{
    uploadfile1.PostedFile.SaveAs(strBaseLocation + now.DayOfYear.ToString() + uploadfile1.PostedFile.ContentLength.ToString() + ".jpg");
    // 執行上傳,並自動根據日期與檔案大小不同為檔案命名,確保不重複
    Label1.Text = "圖片1已經上傳,檔案名為:" + now.DayOfYear.ToString() + uploadfile1.PostedFile.ContentLength.ToString() + ".jpg";
    navigator.Insert(System.Xml.XPath.TreePosition.After, System.Xml.XmlNodeType.Element, "pic1", "", "");
    navigator.Insert(System.Xml.XPath.TreePosition.FirstChild, System.Xml.XmlNodeType.Text, "pic1", "", "");
    navigator.Value = now.DayOfYear.ToString() + uploadfile1.PostedFile.ContentLength.ToString() + ".jpg";
    navigator.MoveToParent();
}

上述代碼用於筆者開發的使用 XML 檔案儲存新聞資訊系統,後幾句代碼作用是寫上傳檔案資訊到 XML。若上傳其他類型檔案,只需將 jpg 改為相應副檔名,如改為 doc 即可上傳 Word 檔,瀏覽器可直接瀏覽。

注意事項

  1. 上傳檔案不得無限大;
  2. 注意 IIS 安全性配合;
  3. 用 Visual Studio 安裝專案做安裝程式時,注意安裝程式所在絕對路徑問題;
  4. 注意檔案上傳後重名問題。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved