上傳 API

最後更新

本頁說明 POST /upload/{path} 的請求格式、檔名規則與回應。

請求

項目 值
方法 POST
路徑 /upload/{path},{path} 為 storage/image/upload/ 下的目標資料夾,可含 /,不存在時遞迴建立
格式 multipart/form-data
檔案欄位 filepath(單檔)
大小上限 應用程式無限制;經 Nginx 時為 client_max_body_size 100M

支援格式

依用戶端送出的 MIME 類型判斷:

MIME 儲存副檔名
image/jpg、image/jpeg .jpg
image/png .png
image/webp .webp
image/svg+xml .svg
application/pdf .pdf

檔名

{16 字元隨機英數}_{毫秒時間戳記}.{ext},例:ERftP1gTS7WCTeJ8_1744080848530.jpg。原始檔名不保留。

回應

狀態 型別 內容
201 JSON { success: 1, filename, type, size, src }
400 文字 請至少規劃一個資料夾位置({path} 為空)
400 文字 僅支持 jpg / png / webp / svg / pdf
400 文字 multer 錯誤訊息(如欄位名稱不是 filepath 時的 "Unexpected field")
500 文字 檔案不存在或上傳失敗(請求中沒有檔案)

src 依 NODE_ENV 組成:development 為 http://localhost:8080/c/img/{path}/{filename},其他為 https://{DOMAIN}/c/img/{path}/{filename}。

範例

curl -fsS -X POST \
  -F "filepath=@./photo.png" \
  http://localhost:8080/upload/products/2025 \
  || echo "上傳失敗"
EN