更新於 2022/09/30閱讀時間約 7 分鐘

[MVC線上教學]第十天, 檔案上傳(.NET 4.x 完整版) FileUpload + 圖片,應該存在 Web硬碟上

檔案上傳的寫法(.NET 4.x 完整版),跟Web Form非常相近。這是簡單的課程。 但後半段的課程,建議各位把「常用的程式碼」、「設定值」抽離出來,統一管理。
00:01:46 檔案上傳後續會用到的資料庫(資料表)
00:11:51 檔案上傳「基本款」入門範例 == 基礎篇 ============================== 00:21:07 檢視畫面&表單的重點設定(以"新增"的輸入畫面為例) 00:26:12 FileUpload程式範本(控制器的第二個Create動作) 00:28:53 Path.Combine()方法。搭配System.IO命名空間 00:30:23 不同瀏覽器的畫面(執行成果) 00:32:46 Web Server硬碟上面的目錄與資料夾「路徑」 00:42:17 第一階段的重點複習
00:58:10 HttpPostedFileBase類別(四個屬性、一個方法)
00:56:08 FileUpload的變化題型 00:57:52 上傳的目錄(路徑)有三種寫法 01:01:09 第二種寫法 Server.MapPath() 01:05:36 第三種寫法 Request.PhysicalApplicationPath
== 實作篇 ============================== 01:19:25 上傳後,檔名重複,怎麼辦?有四種寫法 01:12:27 為檔名"前方"加上「流水號」 01:30:58 從檔名"後方"加上「流水號」(區分主檔名、附檔名) 01:34:28 GUID 檔名 01:44:25 檔名改為年月日時分秒
01:51:20 上傳時,表單的重點 01:53:27 限制上傳的「容量(檔案大小)」 02:01:36 DoS 阻絕服務的攻擊
02:07:29 限制上傳的「副(附)檔名」。有三種作法 02:14:06 微軟的範例 -- 把副(附)檔名寫在陣列裡面 02:22:57 上傳時,目錄(資料夾)不存在,怎麼辦?
== 進階篇 ============================== 02:26:09 重點!!將「常用的程式碼」、「設定值」抽離出來 02:29:14 觀念解說 02:36:15 (反向思考)if判別式 02:49:11 將「設定值」抽離出來,放在Web.Config設定檔裡面 02:53:41 寫在appsettings 03:03:28 「副(附)檔名」的規則,如何抽離出來?
== 搭配資料庫(1)======================== 03:14:41 檔案上傳,搭配資料庫有幾種作法? 03:16:42 資料庫的設定(test資料庫) 03:18:38 檔案上傳後放在Web Server硬碟,路徑與檔名寫入資料表 03:24:20 Fileupload控制器的Create_DB1動作 03:36:33 錯誤示範 - HttpPostedFileWrapper 03:50:43 將圖片呈現在網頁上。Index_DB1動作 04:03:53 搭配fancyBox前端特效(類似PChome圖片式的首頁)
== 搭配資料庫(2)======================== 檔案上傳後,以「二進位」內容存入FileUpload_DB3資料表 04:13:47 介紹資料表的設定、BLOB。 04:18:57 Fileupload2Binary控制器 的 Create3動作 04:25:27 「寫入」資料表。將二進位內容(byte陣列)寫入資料表 04:37:45 「讀取」二進位的內容,還原成圖片(ImageDisplay動作) 04:39:23 泛型處理常式(.ashx) 05:03:40 ImageDisplay檢視畫面,呈現圖片的秘密
== 搭配資料庫(3)======================== 檔案上傳後,以「二進位」內容存入FileUpload_DB3資料表 05:08:20 以微軟範例(線上相簿)為例,另一種寫法 05:16:30 我犯的小錯誤,給各位借鏡(ImageDisplay2動作) 05:18:23 檢視畫面的 Url.Action 與 另一個GetImage動作(讀取二進位內容,還原成圖片)
05:24:05 前端技術 --上傳前,先預覽圖片
== 觀念解析 與 資料庫 ====================== 05:33:17 把BLOB大檔案放入資料表,有什麼缺失? 05:42:48 SQL Server如何設定 FILESTREAM
https://www.dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
我的MVC線上課程,以 MVC 5(.NET 4.x完整版)為主,
後續補上「.NET Core 5與6」升級課程(只有小地方有差異,讓您快速升級到新版本)。
所以這門課是「二合一課程」 = MVC 5 + .NET Core MVC
您可以同時學會 新舊兩個版本
都是MVC。九成以上沒有變化,不用擔心!
隨著VS 2022 (.NET Core 6) 上市,我的 MVC課程已錄好 " .NET Core 前3天"課程,
課程其他章節範例也寫好 .NET Core 6 的版本!
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (ASP.NET MVC 約75~100hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
.........   facebook社團  https://www.facebook.com/mis2000lab  ......................
.........  YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.