巨型圖檔上傳機制
機制前提:
- 應用 Client/Server 處理模式 。
- 後台 (Server) 使用網際網路服務器 ,簡稱:服務器 。
- 前台 (Client) 使用 Applet 或獨立客戶端程式 ,簡稱:Applet 。
機制說明:
- 用戶使用 Applet 選取欲上傳之巨型檔案 ,簡稱:檔案。
- Applet 為每一個 上傳巨型檔案產生 UUID 。
- Applet 產生一個新檔案紀錄巨型檔案資訊 ,簡稱:檔頭。
- Applet 將檔案依設定值切割成若干子檔案 ,以 UUID 為檔名 ,以副檔名為序號 ,簡記為:Fi , i=0 .. n-1。
- Applet 上傳檔頭 ,所有 Fi 。
- Applet 告知服務器已上傳結束。
- Applet 詢問服務器是否有缺檔 ,若有缺檔則 Applet 重傳該檔 ,直至無缺檔為止。
檔頭:
- 總共 128 位元長 ,簡稱:區段 。
- 區段存放 :
- UUID
- 切割設定值 (64KB)
- 檔案切割份數
- 檔案副檔名
服務器:輸出 HTML 型態 text/plain
- 上傳結束服務:傳入(UUID) 傳回(服務器處理 1:成功 0:失敗)
- 服務器讀取檔頭資訊
- 服務器核對子檔案個數與長度
- 若核對子檔案無誤,服務器產生低解析度圖檔
- 詢問缺檔 :傳入(UUID) 傳回(最小缺檔序號)
- 服務器讀取檔頭資訊
- 服務器依序號搜尋子檔案是否存在
- 若無缺檔 ,且無低解析度圖檔 ,則服務器產生低解析度圖檔