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

ASP.NET 2.0 FileUpload 控制項完整實作:檔案大小驗證、動態目錄建立與安全儲存

     編輯:關於ASP.NET

完整展示 FileUpload 控制項的實務應用模式,包含檔案大小限制、日期分類目錄自動建立、例外處理等生產級程式碼。

完整上傳事件處理程式

protected void Button1_Click(object sender, EventArgs e)
{
    try
    {
        // 1. 檔案大小驗證(限制 50KB)
        int intFileLength = this.FileUpload1.PostedFile.ContentLength;
        if (intFileLength > 50000)
        {
            this.Label1.Text = "檔案大於 50KB,無法上傳";
            return;
        }

        // 2. 動態建立日期分類目錄
        string strUpPath = @"upfile\" + DateTime.Now.ToShortDateString();
        if (!Directory.Exists(Server.MapPath(strUpPath)))
        {
            Directory.CreateDirectory(Server.MapPath(strUpPath));
        }

        // 3. 組合完整儲存路徑並儲存
        string strUrl = Server.MapPath(strUpPath + @"\" + this.FileUpload1.FileName);
        this.FileUpload1.SaveAs(strUrl);

        this.Label1.Text = "檔案上傳成功";
    }
    catch (Exception ex)
    {
        this.Label1.Text = "檔案上傳失敗:" + ex.Message;
    }
}

關鍵技術點解析

  • 大小限制:PostedFile.ContentLength 取得位元組數,防止大檔案佔用頻寬
  • 日期分目錄:避免單一目錄檔案過多影響檔案系統效能
  • 路徑處理:Server.MapPath 將虛擬路徑轉為實體路徑
  • 例外處理:統一捕獲並回饋使用者友善訊息
安全性提醒:實務專案應額外驗證副檔名、MIME 類型、掃描病毒、使用亂數重命名檔案防止覆蓋與腳本注入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved