修复演示恢复项目帧数据
- 恢复演示出厂设置后直接解析演视LC视频序列并生成可打开帧序列 - 保持演视DICOM序列按文件名自然顺序恢复并生成帧 - 增加 MinIO 浏览器访问端点配置,修复 Docker 部署中封面和帧图预签名地址使用容器内主机名的问题 - 更新管理员恢复测试覆盖视频和 DICOM 帧数量 - 更新 README 和前后端契约/设计/测试文档中的演示恢复说明
This commit is contained in:
@@ -14,6 +14,7 @@ logger = logging.getLogger(__name__)
|
||||
BUCKET_NAME = "seg-media"
|
||||
|
||||
_minio_client: Optional[Minio] = None
|
||||
_minio_public_client: Optional[Minio] = None
|
||||
|
||||
|
||||
def get_minio_client() -> Minio:
|
||||
@@ -29,6 +30,20 @@ def get_minio_client() -> Minio:
|
||||
return _minio_client
|
||||
|
||||
|
||||
def get_minio_public_client() -> Minio:
|
||||
"""Return a MinIO client configured for browser-facing presigned URLs."""
|
||||
global _minio_public_client
|
||||
if _minio_public_client is None:
|
||||
endpoint = settings.minio_public_endpoint or settings.minio_endpoint
|
||||
_minio_public_client = Minio(
|
||||
endpoint,
|
||||
access_key=settings.minio_access_key,
|
||||
secret_key=settings.minio_secret_key,
|
||||
secure=settings.minio_secure,
|
||||
)
|
||||
return _minio_public_client
|
||||
|
||||
|
||||
def ensure_bucket_exists() -> None:
|
||||
"""Create the bucket if it does not already exist."""
|
||||
client = get_minio_client()
|
||||
@@ -97,7 +112,7 @@ def get_presigned_url(
|
||||
Returns:
|
||||
Presigned URL string.
|
||||
"""
|
||||
client = get_minio_client()
|
||||
client = get_minio_public_client()
|
||||
try:
|
||||
url = client.get_presigned_url(method, BUCKET_NAME, object_name, expires=timedelta(seconds=expires))
|
||||
return url
|
||||
|
||||
Reference in New Issue
Block a user