2018/05/07

SampleCMS 附件管理共用元件說明:附件管理功能概述

附件管理主要由「儲存(更新)附件資訊與檔案、檢視附件資訊、下載附件檔案、刪除附件檔案」這四項功能組成。而 SampleCMS 將檔案資訊與實體檔案分別存放在資料庫與磁碟,在實作程式上因此變得比較繁瑣以及需要較為謹慎,需確保檔案資訊與實體檔案皆儲存完成才算成功。

另一方面,其他的附件管理,例如:照片管理,或是在其他專案曾經製作的廣告橫幅管理商品附件管理。它們在「儲存(更新)附件資訊與檔案、檢視附件資訊、下載附件檔案、刪除附件檔案」這四項功能中的程式流程與這個附件管理是相同的,差別在於可能需要檢查不同的檔案類型、儲存在磁碟的檔名採用不同格式、儲存在磁碟的不同目錄、甚至儲存在資料庫的不同資料表。

而這樣子的差別,不同的類型有著相同的行為但是行為裡的細項動作各自不同,蠻適合使用物件導向來設計共用相同的行為。因此在 SampleCMS 之中,製作了附件管理共用元件 AttachFileManagerLogic 與檔案下載功能的共用元件 AttDownloadCommon。

下列先以循序圖概略描述「儲存(更新)附件資訊與檔案、檢視附件資訊、下載附件檔案、刪除附件檔案」這四項功能,

儲存附件概略循序圖
儲存(更新)附件資訊與檔案
  1. 使用者挑選檔案並且上傳。
  2. 網頁程式檢查已上傳檔案的類型是否允許。
  3. 網頁程式從已上傳的檔案資料中取得檔案資訊(檔名、類型、大小、儲存目錄、儲存檔名)。
  4. 若這次為更新附件,代表之前有上傳過附件檔案,因此在儲存這次的附件檔案前要先刪除舊的檔案。
  5. 將已上傳的檔案儲存至磁碟。
  6. 儲存檔案資訊到資料庫中。
* 上述的流程中,不同的附件管理功能,可能檢查不同的檔案類型、儲存檔名採用不同格式、儲存在不同的目錄、儲存在資料庫的不同資料表。

檢視附件資訊概略循序圖
檢視附件資訊:
  1. 使用者檢視指定附件代碼的檔案。
  2. 網頁程式從資料庫取得檔案資訊(檔名、類型、大小、儲存目錄、儲存檔名)。
  3. 網頁程式呈現檔案資訊、檔案類型限制名單。
* 上述的流程中,不同的附件管理功能,可能是不同的檔案類型限制、儲存在資料庫的不同資料表。

下載附件概略循序圖
下載附件檔案:
  1. 使用者下載指定附件代碼的檔案。
  2. 網頁程式從資料庫取得檔案資訊(儲存目錄、儲存檔名)。
  3. 網頁程式增加檔案的下載次數,更新在資料庫。
  4. 網頁程式從磁碟讀取檔案資料並暫存。
  5. 網頁程式傳送暫存的檔案資料給使用者。
* 上述的流程中,不同的附件管理功能,可能儲存檔名採用不同格式、儲存在不同的目錄、儲存在資料庫的不同資料表。

刪除附件概略循序圖
刪除附件檔案:
  1. 使用者刪除指定附件代碼的檔案。
  2. 網頁程式刪除資料庫中指定代碼的檔案資訊。
  3. 網頁程式刪除磁碟中的檔案。
* 上述的流程中,不同的附件管理功能,可能儲存檔名採用不同格式、儲存在不同的目錄、儲存在資料庫的不同資料表。

下一篇繼續說明附件管理共用元件 AttachFileManagerLogic。




沒有留言:

張貼留言