2013年12月23日 星期一

[ASP.NET C#] 實作檔案上傳

Reference:http://www.wretch.cc/blog/travelerchen/21126306

ASP.NET(C#) 檔案上傳的程式語法 
分享給大家 ASP.NET  檔案上傳時該如何寫程式,希望大家可以學會囉

if (FileUpload1.HasFile)   --->如果使用者有上傳檔案的話            {
                try
                {
                    //取得根目錄
                    string path = HttpContext.Current.Request.MapPath("~/files/");  --->檔案儲存的目錄

                    //儲存檔案
                    FileUpload1.SaveAs(path + FileUpload1.FileName);    --->進行儲存
 
                    String file_name = FileUpload1.PostedFile.FileName ; --->讀取檔案的名稱
                    String file_length = FileUpload1.PostedFile.ContentLength --->讀取檔案的大小
                    String file_type = FileUpload1.PostedFile.ContentType; 
                    --->讀取檔案的型態,例如Word檔、Excel檔等等
                 
                     //...........................................................................................................................................................................................
                   //讀取現在的時間,以記錄到資料表中的上傳時間欄位
                  DateTime dt = DateTime.Now;
                  String builddate = dt.Now.ToString();  --->讀取至目前的日期時間資料

                   //開啟資料庫   
                    SqlConnection conn = new SqlConnection("Data Source=Localhost;Initial Catalog=DB;User
                                                                 ID=sa;Password=1234");
                    conn.Open();
 
                    //建立 SQL 指令  --->Insert 檔案的資訊到資料表 Files 中
                    string SQLStr = "INSERT INTO Files( NAME, ,LENGTH , FILETYPE, UPDATE ) VALUES (' " + file_name
                                                    + "','" + file_length +"','" + tile_type + "','" + builddate + "')";
 
                    //建立 SqlCommand
                    SqlCommand cmd = new SqlCommand(SQLStr,conn);  --->建立執行的封裝
 
                    //執行
                    cmd.ExecuteNonQuery();  --->執行
 
                    //關閉連線
                    conn.Close();
 
                    //顯示新增成功訊息
                    Label5.Text = "檔案名稱:" + FileUpload1.FileName + "新增成功!";  
                    --->秀出訊息到 Label5 給使用者知道
 
                    //重新整理GridView1資料內容
                    GridView1.DataBind();
                   //..............................................................................................................................................................................................................................................................................................................

                }
                catch (Exception ex)
                {
                    Label1.Text = ex.Message; 
                    --->給系統使用的秀出系統訊息讓使用者知道例如檔案錯誤、系統錯誤等訊息
                }
            }
            else
            {
                Label1.Text = "必須指定檔案!"; --->如果使用者沒有上傳檔案的話,秀出訊息告訴他
            }

沒有留言:

張貼留言