FileUpload檔案上傳 與 類別檔 -- 為什麼要來上Allen Kuo的 ASP.NET 程式技巧進階班?

摘要:[課程]為什麼要來上Allen Kuo的 ASP.NET 程式技巧進階班??...FileUpload檔案上傳 & 類別檔的簡單解說
......不廢話、不理論。直接改程式給你看
......該怎麼改?讓自己功力每次都升級一點

市面上的老師,把「難」的東西,講得更難
您需要一位「把難的東西」講得簡單、講得淺顯、講到實用、講到 "您"也能作出來.....
這才是上課的真諦!

 

這裡有一個很棒的範例,使用了 ASP.NET FileUpload控制項

http://jengting.blogspot.tw/2014/10/fileupload.html

 

我想大部分的書籍都會提到這些功能, 例如:

上傳時,檔名重複該怎麼辦?

上傳時,忘了選擇檔案,會出現警告?

上傳時,只能上傳「GIF or Jpg 圖片檔」,該怎麼作?

 

我想初學者能寫的就是「流水帳」的程式

一列一列慢慢寫

一個功能、一個功能慢慢寫

 

*** 先別擔心 ***

初學者能這樣做就不錯了,畢竟您熟悉了「控制項」也會寫「基礎的程式流程」

 

......如果......我想讓程式寫的更好,該怎麼作?

......如果......我想透過OOP(物件導向)的一些 "簡單基礎"來做,該怎麼入門?

物件導向的很多書,太理論了。    或許我用不到那麼多,能否針對我現有的範例,改寫給我看看?

 

這門課就是您想要的!

不廢話、不理論。直接改程式給你看

該怎麼改?讓自己功力每次都升級一點

 

[台北]假日班 -- Allen Kuo 的 ASP.NET 程式技巧進階班,只要兩天,讓您技巧顯著提升

 

以上面介紹的範例來說,我們將修改如下 --

程式碼,詳見:http://jengting.blogspot.tw/2014/10/fileupload.html

 

第一,寫成一個簡單的類別檔(Class1.cs 或是 Class1.vb)

    先把程式 Copy起來,放到類別檔裡面,

    以後會(重複)用到,不用每次都重寫一段(重複的)程式碼

    日後如果要改,也可以統一維護

    public class Class1
    {
 
          public static void doA(System.Web.UI.WebControls.FileUpload FU1, System.Web.UI.WebControls.Label lblMessage) { 
         
         if (FU1.HasFile == false) return;
 
              ...... 程式部分省略 ......
         }
    }

 

    一般的初學者,通常只會把「重複的程式」

    Copy出來,希望以後能 "共用" ......  不要擔心!第一步能這樣做已經很棒囉!

 

*************************************************************************************************************************

第二,微調一下

      程式再做修改......哪裡還可以改善呢??

/// <summary>
/// 處理結果只需要傳回string,至於要show在label, literal, 或alert,由網頁自行決定
/// </summary>
public class Class2
{
public static string doA(System.Web.UI.WebControls.FileUpload FU1)
{
string message = string.Empty;
 
if (FU1.HasFile == false) return message;
 
...... 程式部分省略 ......
 
return message;
}
}

 

*************************************************************************************************************************

第三,把常用的、常改的數值,拉出來寫成「屬性

例如:檔案上傳後,要存檔的目錄?路徑?

          哪些檔案(副檔名),可以上傳?

          檔案大小的限制?多大容量的檔案才能上傳??

 

這些東西(設定值)是不是常常會修改呢?

寫在程式碼裡面,將來要改就不容易囉!

/// <summary>
/// 將會異動的部份抽離成屬性
/// </summary>
public class Class3
{
 
      private List<string> _allowedExtextsion = new List<string> { ".jpg", ".bmp" };
 
public List<string> allowedExtextsion {
get { return _allowedExtextsion; }
set { _allowedExtextsion = value; }
}
 
 
      public string serverDir {get;set;};
 
private string message01 = "不允許非圖片檔上傳";
private string message02 = "檔案大小上限為 2MB";
private string message03 = "上傳成功";
 
      public string doA(System.Web.UI.WebControls.FileUpload FU1)
      {
...... 程式部分省略 ......
 
 
 

是不是很簡單???

只要您有入門的程式經驗,就可以來上課

是不是跟上面說的一樣?

......不廢話、不理論。直接改程式給你看

......該怎麼改?讓自己功力每次都升級一點

 

市面上的老師,把「難」的東西,講得更難

 

您需要一位「把的東西」講得簡單、講得淺顯、講到實用、講到您也能作出來.....

這才是上課的真諦!

 

 

寫程式,就好比寫作文

需要一個老師幫您「改」作文、跟您一起討論





維護上傳檔案的輔助類別
若維護記錄的表單裡面需要上傳檔案, 由於需要處理的狀況(情境)比較多樣化, 因此可以考慮寫一支輔助類別, 簡化處理程序

 

[台北]假日班 -- Allen Kuo 的 ASP.NET 程式技巧進階班,只要兩天,讓您技巧顯著提升

 

 

 

 

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

*********************************************************************************************

*** ASP.NET MVC線上課程 第一天 免費看 (5.5小時) *** 

************************************************************(歡迎索取,免費申請)*****

 

ASP.NET遠距教學、線上課程(Web Form + MVC)第二門 課程「四折」-- 以MVC課程作為優惠。

第一天完整課程,提供 "完整" 試聽。  如 "第一天"試聽 不滿意 全額退費!

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

......................................................................................................................................................

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

    MIS2000 Lab.  線上教學影片(YouTube) **免費觀賞**