AdminUploadService

CreateUploadPresign 生成 Banner 图片的 presigned PUT 直传地址与永久公开 URL。

post/v1/admin/uploads/presign

Request body

contentTypestring

content_type 图片 MIME(白名单 image/png|jpeg|webp|gif|svg+xml,且须与扩展名配对)。 该 MIME 会连同 size 一起进签名:PUT 时必须原样携带(见 required_headers), 声明 image/png 就只能传 image/png,不能借此往公共读桶塞 HTML/JS。

filenamestring

filename 原始文件名(服务端只取扩展名,名字本体不进 key;拒绝含 / \ 或路径穿越)。

scenestring

scene 上传场景(白名单校验,决定 key 前缀):banner | entry_slot。 每个 RPC 只接受与其权限对应的场景,不能跨场景复用签名能力。

sizestring

size 文件字节数,必须为正且不超过 5 MiB。 之所以是必填而非可选提示:aws-sdk-go-v2 仅在 ContentLength 非空时才把 Content-Type 纳入 SigV4 SignedHeaders,不给 size 就等于没绑定类型。上传实体大小必须与此完全一致, 否则对象存储拒绝该 PUT。

Response

OK

expiresAtstring

expires_at upload_url 失效时间(RFC3339;不影响 public_url)。

keystring

key 对象 key(排障 / 日志用,前端正常流程不消费)。

publicUrlstring

public_url 永久公开访问地址(PUT 成功后即可访问;前端最终提交给业务接口的就是它)。

requiredHeadersobject

required_headers PUT 时必须原样携带的签名头(含 If-None-Match: * 防覆盖, 以及绑定了对象类型的 Content-Type);不包含由浏览器 / HTTP 客户端根据 upload_url 与请求实体自动管理的 Host 和 Content-Length。

uploadUrlstring

upload_url presigned PUT 地址(前端直传对象存储用),15 分钟有效。

Changes

No recorded changes to this endpoint across all 1 revision of this API.