ASP.NET動態網站開發培訓-10.FileUpload控制元件

人生不再重來發表於2014-11-02
第十講:FileUpload控制元件

課程安排:
     使用FileUpload控制元件選擇上傳圖片
     獲取網站當前路徑(Server.MapPath)     物理路徑
     使用SaveAs方法上傳檔案
     判斷是否選擇了要上傳的檔案(HasFile屬性)
     能夠避免使用者上傳錯誤型別檔案的程式分析

使用Fileupload控制元件選擇上傳圖片
     工具箱—標準控制元件—FileUpload檔案。並自帶一個瀏覽按鈕。

獲取網站當前路徑的物理路徑
     Server.MapPath(".");     //獲取網站根目錄的物理路徑

使用SaveAs方法上傳檔案
        FileUpload1.SaveAs(Server.MapPath("./Images/" + Guid.NewGuid() + ".jpg"));
        Response.Write("上傳成功!");

    注意:使用SaveAs可以把檔案儲存到伺服器的任意位置。

     例:
          FileUpload1.SaveAs("c:/pic/11.jpg"));     //固定位置
          FileUpload1.SaveAs(Server.MapPath("./pic/111.jpg"));          //網站根目錄下的pic資料夾
          FileUpload1.SaveAs(Server.MapPath("./pic/") + FileUpload1.FileName);  //使用原檔名


判斷是否選擇了要上傳的檔案(HasFile屬性)
     if (FileUpload1.HasFile)


避免使用者上傳錯誤型別檔案的程式分析
    
     Boolean fileOK=false;
     String path=Server.MapPath("~/UploadedImages/");

     if (FileUpload1.Hasfile)
     {
          string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();

          string[] allowedExtensions = {".gif",".png",".jpeg",".jpg"};
          for (int i=0;i<allowedExtensions.Length;i++)
          {
               if (fileExtension == allowedExtensions[i])
               {
                    fileOK = true;
               }
          }
     }


     在aspx.cs中的特殊欄位 IsPosBack的特殊意義。是否從本頁回撥還是第一次開啟。

相關文章