分享管理

概述

分享功能允许为任意文件生成临时公开链接,支持提取码、过期时间、下载次数限制。

创建分享

管理后台

管理后台 → 分享管理 → 新建:

  1. 选择文件路径
  2. 设置提取码(可选)
  3. 设置过期时间(可选)
  4. 设置最大下载次数(可选)
  5. 提交 → 获得分享链接

API

# 创建分享(REST API)
curl -X POST http://localhost:8002/api/share/create \
    -H "Authorization: Bearer <token>" \
    -d '{"path":"/photos/cat.jpg","verify_code":"1234","expires_at":"2025-12-31","max_downloads":10}'

分享链接格式

http://your-domain/api/share/{token}

示例:

http://localhost:8002/api/share/a1b2c3d4e5f6

访问控制

无验证码分享

verify_code 为空时,任何人可直接访问链接下载文件。

提取码验证

设置了 verify_code 时,访问需提供提取码:

GET /api/share/{token}?code=1234
  • 无 code → 403
  • 错误 code → 403
  • 正确 code → 文件下载

过期时间

expires_at 过期后,链接自动失效(GET → 404)。

下载次数限制

max_downloads 限制总下载次数。达到上限后链接失效(GET → 404)。

分享管理

后台管理

管理后台 → 分享管理:

  • 查看所有分享链接
  • 查看下载次数 / 状态
  • 删除分享(立即失效)
  • 复制链接地址

数据模型

字段 说明
token 分享令牌(URL 中使用)
storage_path_id 关联文件
verify_code 提取码(可空)
expires_at 过期时间(可空 = 永不过期)
max_downloads 最大下载次数(0 = 不限)
download_count 已下载次数

配置

share.enabled = 1
share.default_ttl = 86400    # 默认有效期(秒),0 = 不限
share.max_ttl = 604800       # 最大有效期(秒),0 = 不限

HTMX 界面

分享管理使用 HTMX 局部刷新:

  • 创建分享后显示链接 + 复制按钮
  • 分享列表实时更新
  • 支持内联删除(确认弹窗)

原文标题:分享管理

原文文档:uldisk

原文地址:/read/augushong/ul-disk/zh-cn/1.0.0/6a3e73c598601/6a3e73d885793.html

原文平台:奥宏文档

1.0.0