---
title: "生成前端直传 Cloudflare R2 的预签名 PUT URL。"
method: GET
path: "/api/upload/presignedUrl"
tags: ["Upload"]
---

# 生成前端直传 Cloudflare R2 的预签名 PUT URL。

`GET /api/upload/presignedUrl`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/upload/presignedUrl`
- Auth: HTTP bearer

## Query parameters

- `fileName` string, required
- `contentType` string, required

## Response `200`

Successful HTTP response; legacy business endpoints may return success=false in this envelope, while social endpoints use matching 4xx/5xx statuses

- CommonPojoResultDataJsonResultJavaUtilMapJavaLangStringJavaLangString
  - `code` integer
  - `data` object
  - `errorCode` string
  - `message` string
  - `success` boolean

## Other responses

- `400`: Request validation failure; legacy endpoints may still return HTTP 200 with success=false
- `401`: Missing, expired or invalid bearer token
- `403`: Forbidden or privacy restriction
- `429`: Rate limited
- `500`: Server failure; legacy endpoints may still return HTTP 200 with success=false

## Changes

- **2026-11-04** `bbd151b5879f`: 2 info
  - api tag `Upload` added
  - api tag `ObjectStorage` removed
- **2026-10-06** `880521a9d345`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gdeiassistant/apis/gdeiassistant-api/changes/api/upload/presignedUrl/get.md)

---

[API](https://skmtc.dev/gdeiassistant/apis/gdeiassistant-api.md) - [All operations](https://skmtc.dev/gdeiassistant/apis/gdeiassistant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gdeiassistant/apis/gdeiassistant-api/revisions/b3983583c335?raw)
