# 刪除 API

本頁說明 `DELETE /del/{path}` 如何把檔案或資料夾搬入垃圾桶，以及如何還原。

## 請求

| 項目 | 值 |
|---|---|
| 方法 | `DELETE` |
| 路徑 | `/del/{path}`，`{path}` 為 `storage/image/upload/` 下的檔案或資料夾，結尾的 `/` 會被移除 |
| 主體 | 不需要 |

## 搬移規則

| 規則 | 行為 |
|---|---|
| 目的地 | `storage/image/upload/.trash/{YYYY-MM-DD}/{最後一段名稱}` |
| 日期 | UTC 日期（`toISOString()`） |
| 同名衝突 | 目的地已存在時追加 `_{毫秒時間戳記}`，檔案保留副檔名（`a_1791311009904.jpg`），資料夾直接追加（`x_1791311009904`） |

## 回應

| 狀態 | 型別 | 內容 |
|---|---|---|
| `200` | JSON | `{ "success": 1, "message": "檔案已移動至垃圾桶: {伺服器絕對路徑}" }` |
| `200` | JSON | 資料夾：`檔案夾已移動至垃圾桶: {伺服器絕對路徑}` |
| `400` | 文字 | `未指定檔案/檔案夾` |
| `404` | 文字 | `檔案/檔案夾不存在` |
| `500` | 文字 | 系統錯誤訊息 |

## 範例

```bash
# 刪除單一檔案
curl -fsS -X DELETE \
  http://localhost:8080/del/blog/2025/ERftP1gTS7WCTeJ8_1744080848530.jpg

# 刪除整個資料夾
curl -fsS -X DELETE http://localhost:8080/del/blog/2025
```

## 還原

把垃圾桶中的項目移回原路徑即可（Docker Compose 部署時主機路徑為 `./image/`）：

```bash
mv ./image/upload/.trash/2026-10-06/ERftP1gTS7WCTeJ8_1744080848530.jpg \
   ./image/upload/blog/2025/
```

