后端更新

This commit is contained in:
BBIT-Kai
2026-03-26 17:48:20 +08:00
parent 4c2bcd7dce
commit 0c2859b0db
22 changed files with 1336 additions and 213 deletions
+28 -2
View File
@@ -1,6 +1,7 @@
from datetime import timedelta
from minio import Minio
from minio.commonconfig import CopySource
# MinIO 客户端初始化
minio_client = Minio(
@@ -28,7 +29,7 @@ def get_upload_token(bucket_name, object_name, xpires=timedelta(minutes=15)):
)
def get_temp_url(bucket_name, object_name):
def get_temp_url(bucket_name, object_name, seconds: float = 3600):
# 如果 object_name 为 None 或空字符串,则返回默认图片
if not object_name or not bucket_name:
bucket_name = "system"
@@ -36,7 +37,7 @@ def get_temp_url(bucket_name, object_name):
# 使用 presigned_get_object 获取临时 URL
return minio_client.presigned_get_object(
bucket_name, object_name, expires=timedelta(seconds=3600)
bucket_name, object_name, expires=timedelta(seconds=seconds)
)
@@ -51,3 +52,28 @@ def get_temp_url_dict(bucket_name, object_dict, object_name):
return minio_client.presigned_get_object(
bucket_name, object_dict + "/" + object_name, expires=timedelta(seconds=3600)
)
# 移动文件(实际上是 copy + delete
def move_file(bucket_name, source_object_name, target_object_name):
"""
bucket_name: bucket名称
source_object_name: 原对象路径,例如 folder1/test.jpg
target_object_name: 目标对象路径,例如 folder2/test.jpg
"""
# 复制到新位置
minio_client.copy_object(
bucket_name, target_object_name, CopySource(bucket_name, source_object_name)
)
# 删除原文件
minio_client.remove_object(bucket_name, source_object_name)
# 删除文件
def delete_file(bucket_name, object_name):
"""
bucket_name: bucket名称
object_name: 文件路径,例如 folder/test.jpg
"""
minio_client.remove_object(bucket_name, object_name)