巨型圖檔上傳機制

機制前提

    • 應用 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) 傳回(最小缺檔序號)
      • 服務器讀取檔頭資訊
      • 服務器依序號搜尋子檔案是否存在
      • 若無缺檔 ,且無低解析度圖檔 ,則服務器產生低解析度圖檔