feat: 實作全域檔案傳輸機制與 .tar 封裝規範
## 主要變更 ### 新增全域檔案傳輸模組 (src/transfer/) - constants.ts: 定義傳輸常數(10MB 門檻、5MB chunk 大小) - types.ts: 傳輸類型定義 - uploadManager.ts: 後端上傳管理器(支援直傳與 chunk) - downloadManager.ts: 後端下載管理器(支援直傳與 chunk) - archiveManager.ts: 封裝管理器(僅允許 .tar) - index.ts: 統一匯出 ### 新增 API 端點 - uploadChunk.tsx: Chunk 上傳 API - downloadChunk.tsx: Chunk 下載 API ### 前端更新 - public/script.js: 整合智慧傳輸策略(≤10MB 直傳,>10MB chunk) - public/transfer.js: 前端傳輸管理模組 ### 轉換器更新 - mineru.ts: 改用 .tar 格式(不壓縮),禁止 .tar.gz - download.tsx: 使用統一的封裝管理器 ### 測試 - tests/transfer/: 完整傳輸機制測試套件 - tests/converters/mineru.test.ts: 更新以符合 .tar 規範 ### 文件 - README.md: 新增檔案傳輸機制說明 ## 設計原則 - 檔案 ≤10MB:直接傳輸 - 檔案 >10MB:使用 5MB chunks 分段傳輸 - 多檔輸出:僅允許 .tar 封裝(禁止 .tar.gz/.zip) - 引擎層不感知 chunk(僅傳輸層處理)
This commit is contained in:
parent
f7ebc084ea
commit
5322f85721
18 changed files with 2387 additions and 61 deletions
46
README.md
46
README.md
|
|
@ -157,15 +157,15 @@ docker compose up -d
|
|||
|
||||
## 支援格式
|
||||
|
||||
| 轉換器 | 用途 | 格式數 |
|
||||
| ----------- | ------ | ------ |
|
||||
| FFmpeg | 影音 | 400+ |
|
||||
| ImageMagick | 圖片 | 200+ |
|
||||
| LibreOffice | 文件 | 60+ |
|
||||
| Pandoc | 文件 | 100+ |
|
||||
| Calibre | 電子書 | 40+ |
|
||||
| Inkscape | 向量圖 | 20+ |
|
||||
| MinerU | 文件→MD | 2 |
|
||||
| 轉換器 | 用途 | 格式數 |
|
||||
| ----------- | ------- | ------ |
|
||||
| FFmpeg | 影音 | 400+ |
|
||||
| ImageMagick | 圖片 | 200+ |
|
||||
| LibreOffice | 文件 | 60+ |
|
||||
| Pandoc | 文件 | 100+ |
|
||||
| Calibre | 電子書 | 40+ |
|
||||
| Inkscape | 向量圖 | 20+ |
|
||||
| MinerU | 文件→MD | 2 |
|
||||
|
||||
完整列表 → [docs/converters.md](docs/converters.md)
|
||||
|
||||
|
|
@ -175,10 +175,32 @@ docker compose up -d
|
|||
|
||||
ConvertX 內建文件轉換引擎。
|
||||
|
||||
- md-t
|
||||
- md-i
|
||||
- md-t(表格以 Markdown 呈現)
|
||||
- md-i(表格以圖片呈現)
|
||||
|
||||
輸出格式:tar.gz
|
||||
輸出格式:.tar(不壓縮封裝)
|
||||
|
||||
---
|
||||
|
||||
## 檔案傳輸機制
|
||||
|
||||
Contents.CN 使用統一的檔案傳輸策略:
|
||||
|
||||
| 檔案大小 | 傳輸方式 | 說明 |
|
||||
| -------- | -------- | ---- |
|
||||
| ≤ 10MB | 直接傳輸 | 單一請求完成上傳/下載 |
|
||||
| > 10MB | 分段傳輸 | 使用 5MB chunks 分段傳輸 |
|
||||
|
||||
### 多檔輸出封裝
|
||||
|
||||
- ✅ 唯一允許格式:`.tar`
|
||||
- ❌ 禁止使用:`.tar.gz`、`.tgz`、`.zip`
|
||||
|
||||
### 設計原則
|
||||
|
||||
- 分段傳輸僅存在於傳輸層
|
||||
- 轉換引擎只接收完整檔案
|
||||
- 前後端使用共用傳輸模組
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue