release: v1.4.1 — 上传策略设置、保留原图与上传 tagNames
GitHub Release / release (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
管理员可在设置页配置上传大小、格式、限流与保留原图;上传 API 支持按标签名称打标。
This commit is contained in:
1 parent
d0eb364645
commit
6cc4f27f7d
25 files changed
+1354
-172
No files matched your search
+30
-4
@@ -286,12 +286,12 @@
|
||||
"back": "Back to upload",
|
||||
"processing": "Image processing",
|
||||
"clientCompress": "Client-side compression",
|
||||
"clientCompressHint": "Compress in the browser before upload (server still converts to WebP)",
|
||||
"clientCompressHint": "Compress in the browser before upload. The server may still convert to WebP unless “Preserve originals” is enabled above.",
|
||||
"autoDeletePrefix": "Auto-delete after",
|
||||
"autoDeleteSuffix": "days",
|
||||
"autoDeleteHint": "Only affects images uploaded after enabling; existing images are kept",
|
||||
"webpQuality": "WebP quality",
|
||||
"webpQualityHint": "Client compression quality (1–100); requires client-side compression",
|
||||
"webpQualityHint": "Quality for client-side WebP pre-compression; higher values mean better quality and larger files.",
|
||||
"current": "Current: {n}",
|
||||
"qualityHigh": "High quality",
|
||||
"qualityMedium": "Medium quality",
|
||||
@@ -414,7 +414,31 @@
|
||||
"envOverride": "Overridden by environment variable; cannot edit in UI",
|
||||
"saved": "Settings saved",
|
||||
"saveFailed": "Failed to save settings",
|
||||
"loadFailed": "Failed to load settings"
|
||||
"loadFailed": "Failed to load settings",
|
||||
"uploadLimits": "Upload limits",
|
||||
"uploadLimitsHint": "Site-wide upload policy and your personal convenience options. Applies after save.",
|
||||
"imageProcessingHint": "Site-wide format conversion and personal compression/cleanup.",
|
||||
"serverPolicy": "Site-wide",
|
||||
"personalPreference": "Personal",
|
||||
"uploadRateGroup": "Upload rate limits",
|
||||
"minutesUnit": "min",
|
||||
"uploadMaxFileSize": "Max file size",
|
||||
"uploadMaxFileSizeHint": "Uploads larger than this are rejected (1–100 MB).",
|
||||
"allowedMimeTypes": "Allowed image formats",
|
||||
"allowedMimeTypesHint": "Keep at least one format enabled. The server validates file signatures, not just extensions.",
|
||||
"preserveOriginalUpload": "Preserve originals (disable WebP conversion)",
|
||||
"preserveOriginalUploadHint": "When enabled, JPEG/PNG/GIF uploads are stored as-is instead of converting to WebP.",
|
||||
"rateLimits": "Rate limits",
|
||||
"rateLimitsHint": "Protect against upload abuse and login brute force.",
|
||||
"loginRateLimitsHint": "Protect the login endpoint from brute-force attempts.",
|
||||
"uploadRateFootnote": "Returns 429 when exceeded within the window. Token uploads are counted separately.",
|
||||
"loginRateFootnote": "Returns 429 when exceeded within the window.",
|
||||
"uploadRateIpMax": "Upload limit (per IP)",
|
||||
"uploadRateTokenMax": "Upload limit (per token)",
|
||||
"uploadRateWindowMinutes": "Upload window (minutes)",
|
||||
"loginRateMax": "Login limit (per IP)",
|
||||
"loginRateWindowMinutes": "Login window (minutes)",
|
||||
"rateLimitsFootnote": "Exceeding the limit within the window returns HTTP 429. Token uploads are counted separately."
|
||||
},
|
||||
"storage": {
|
||||
"title": "Storage",
|
||||
@@ -854,7 +878,9 @@
|
||||
"image": "Primary upload field",
|
||||
"file": "Compatibility field, single file",
|
||||
"files": "Compatibility field, multiple files",
|
||||
"token": "Twikoo protocol form token"
|
||||
"token": "Twikoo protocol form token",
|
||||
"tagIds": "Optional JSON array or repeated fields; tag images by ID after upload",
|
||||
"tagNames": "Optional JSON array or comma-separated names; creates missing tags, reuses existing"
|
||||
},
|
||||
"list": {
|
||||
"limit": "Page size, default 20, max 100",
|
||||
|
||||
+29
-4
@@ -286,12 +286,12 @@
|
||||
"back": "返回上传",
|
||||
"processing": "图片处理",
|
||||
"clientCompress": "客户端预压缩",
|
||||
"clientCompressHint": "在上传前于浏览器端压缩图片,减少上传体积(服务端仍会转 WebP)。",
|
||||
"clientCompressHint": "上传前在浏览器端压缩以减小体积;若未开启上方「保留原图」,服务端仍可能转为 WebP。",
|
||||
"autoDeletePrefix": "自动删除超过",
|
||||
"autoDeleteSuffix": "天的图片",
|
||||
"autoDeleteHint": "自动清理指定天数前上传的图片,仅对开启后新上传的图片生效。",
|
||||
"webpQuality": "WebP 压缩质量",
|
||||
"webpQualityHint": "转换为 WebP 格式时的图片质量,数值越高画质越好、体积越大。",
|
||||
"webpQualityHint": "客户端预压缩为 WebP 时的质量;数值越高画质越好、体积越大。",
|
||||
"current": "当前:{n}",
|
||||
"qualityHigh": "高质量",
|
||||
"qualityMedium": "中等质量",
|
||||
@@ -414,7 +414,31 @@
|
||||
"envOverride": "该项已由环境变量覆盖,无法在后台修改",
|
||||
"saved": "服务器配置已保存",
|
||||
"saveFailed": "保存服务器配置失败",
|
||||
"loadFailed": "加载设置失败"
|
||||
"loadFailed": "加载设置失败",
|
||||
"uploadLimits": "上传限制",
|
||||
"uploadLimitsHint": "全站上传策略与个人上传便捷选项,保存后立即生效。",
|
||||
"imageProcessingHint": "全站格式转换与个人端压缩、清理策略。",
|
||||
"serverPolicy": "全站策略",
|
||||
"personalPreference": "个人偏好",
|
||||
"uploadRateGroup": "上传限流",
|
||||
"minutesUnit": "分钟",
|
||||
"uploadMaxFileSize": "单文件大小上限",
|
||||
"uploadMaxFileSizeHint": "超过此大小的图片将被拒绝上传(1–100 MB)。",
|
||||
"allowedMimeTypes": "允许的图片格式",
|
||||
"allowedMimeTypesHint": "至少保留一种格式;服务端会校验文件签名,不仅看扩展名。",
|
||||
"preserveOriginalUpload": "保留原图(关闭 WebP 转换)",
|
||||
"preserveOriginalUploadHint": "开启后上传的 JPEG/PNG/GIF 不再转为 WebP,按原格式存储;关闭时可节省空间。",
|
||||
"rateLimits": "限流",
|
||||
"rateLimitsHint": "防止恶意刷上传或暴力登录。",
|
||||
"loginRateLimitsHint": "防止登录接口被暴力尝试。",
|
||||
"uploadRateFootnote": "窗口期内超过次数将返回 429;带 Token 的上传单独计数。",
|
||||
"loginRateFootnote": "窗口期内超过次数将返回 429。",
|
||||
"uploadRateIpMax": "上传限流(每 IP)",
|
||||
"uploadRateTokenMax": "上传限流(每 Token)",
|
||||
"uploadRateWindowMinutes": "上传限流窗口(分钟)",
|
||||
"loginRateMax": "登录限流(每 IP)",
|
||||
"loginRateWindowMinutes": "登录限流窗口(分钟)",
|
||||
"rateLimitsFootnote": "窗口期内超过次数将返回 429。带 Token 的上传单独计数。"
|
||||
},
|
||||
"storage": {
|
||||
"title": "存储设置",
|
||||
@@ -855,7 +879,8 @@
|
||||
"file": "兼容字段,单图上传",
|
||||
"files": "兼容字段,多图上传",
|
||||
"token": "Twikoo 协议兼容,表单 token",
|
||||
"tagIds": "可选,JSON 数组或重复字段,上传后自动打标"
|
||||
"tagIds": "可选,JSON 数组或重复字段,上传后按 ID 打标",
|
||||
"tagNames": "可选,JSON 数组或逗号分隔;名称不存在则自动创建,存在则复用"
|
||||
},
|
||||
"list": {
|
||||
"limit": "每页条数,默认 20,最大 100",
|
||||
|
||||
Reference in new issue
Block a user