A AuthMS API Wiki API Reference iam.tianv.com →

POST /files/{id}/watermark

为图片文件添加文字水印,生成带水印的新文件。支持自定义水印文字内容、位置(左上/右上/居中/左下/右下)、透明度和字体大小。参考:GDPR Art 32 (Security of Processing)。

存储服务 `bearerAuth` application/json

Request Parameters

NameInTypeRequiredDefaultExampleConstraintsDescription
id path string Yes 源文件ID

Request Body

Schema: dto.WatermarkRequest

FieldTypeRequiredExampleConstraintsDescription
text string Yes Confidential
font_size integer No 48
opacity number No 0.3
position string No center

Responses

StatusDescriptionSchema
200水印添加成功,返回新生成的水印文件元数据dto.FileMetadataDetailResponse
400参数验证失败或文件不是图片dto.Problem
401未认证或令牌已过期dto.Problem
404文件不存在dto.Problem
500服务器内部错误(图片解码/水印渲染/存储写入失败)dto.Problem

Referenced Schemas

dto.FieldViolation

FieldTypeRequiredExampleConstraintsDescription
code string No Code 是错误代码(可选) 用于程序识别错误类型,如 "required", "format", "range"
description string No Description 是人类可读的错误描述 应该说明违反了什么规则,如 "必须是一个有效的邮箱地址"
field string No Field 是错误字段的路径 使用点号表示嵌套字段,如 "user.email" 或 "addresses[0].city"
value object No Value 是导致错误的值(可选,开发模式下使用) 生产环境可能不返回此字段以避免泄露敏感信息

dto.FileMetadataDetailResponse

FieldTypeRequiredExampleConstraintsDescription
code integer No
data dto.FileMetadataResponse No
message string No
timestamp string No

dto.FileMetadataResponse

文件元数据信息

FieldTypeRequiredExampleConstraintsDescription
bucket string No avatars 存储�?
created_at string No 2026-04-15T10:00:00Z 创建时间
etag string No "abc123def456" ETag
file_id string No file_abc123 文件ID
is_public boolean No False 可见性?
mime_type string No image/jpeg MIME类型
name string No avatar.jpg 文件名称
object_name string No 2026/04/file_abc123.jpg 对象名称?
original_name string No avatar.jpg 原始名称
owner_id string No usr_abc123 所有ID
parent_id string No folder_001 父文件夹
size integer No 102400 文件大小
storage_class string No standard 存储类别
tenant_id string No tnt_xyz789 租户ID
updated_at string No 2026-04-15T10:30:00Z 更新时间

dto.Problem

FieldTypeRequiredExampleConstraintsDescription
code integer No Code 是业务错误码 用于程序处理特定错误场景 示例:30101001
detail string No Detail 是针对此具体错误实例的人类可读解释 可以包含具体的错误细节,如"Field 'email' is required"
errors array of

See dto.FieldViolation

No Errors 是字段级验证错误列表(扩展字段) 遵循 Web API 标准实践,每个错误包含字段名和错误信息
i18n_args object No I18nArgs 是国际化参数 用于动态填充翻译模板
i18n_key string No I18nKey 是国际化键 用于客户端本地化错误消息 示例:"error.user_not_found"
instance string No Instance 是发生问题的具体URI引用 通常是请求的URL,可能包含查询参数 示例:"/api/v1/users?limit=invalid"
request_id string No RequestID 是请求唯一标识 用于日志关联和问题追踪 示例:"req_550e8400-e29b-41d4-a716-446655440000"
retry_after integer No RetryAfter 用于 429 Too Many Requests 响应 指示客户端应在多少秒后重试请求(RFC 6585)
service string No Service 是服务名 用于微服务架构中定位错误来源 示例:"auth-service"
span_id string No SpanID 是当前 span 标识 用于精确定位分布式链路中的当前节点
status integer No Status 是产生的HTTP状态码 用于客户端区分问题类型,不随Accept-Language变化 示例:400, 401, 403, 404, 500
timestamp string No Timestamp 是错误发生时间 ISO 8601 格式 示例:"2026-04-03T12:00:00Z"
title string No Title 是简短、人类可读的问题类型摘要 相同的 Type 应该始终有相同的 Title(不随实例变化) 示例:"Invalid Request Parameters"
trace_id string No TraceID 是分布式追踪标识 遵循 W3C Trace Context 标准 示例:"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
type string No Type 是标识问题类型的URI引用 当该URI被解引用时,应提供人类可读的文档 示例:"https://api.example.com/errors/invalid-request"