This commit is contained in:
Lan
2025-05-21 00:14:40 +08:00
parent 0526299989
commit 40cb6768b7
4 changed files with 50 additions and 14 deletions
+5 -5
View File
@@ -9,7 +9,7 @@ from typing import Optional, Tuple
from apps.base.dependencies import IPRateLimit
from apps.base.models import FileCodes
from core.settings import settings
from core.utils import get_random_num, get_random_string, max_save_times_desc
from core.utils import get_random_num, get_random_string, max_save_times_desc, sanitize_filename
async def get_file_path_name(file: UploadFile) -> Tuple[str, str, str, str, str]:
@@ -17,17 +17,17 @@ async def get_file_path_name(file: UploadFile) -> Tuple[str, str, str, str, str]
today = datetime.datetime.now()
storage_path = settings.storage_path.strip("/") # 移除开头和结尾的斜杠
file_uuid = uuid.uuid4().hex
filename = await sanitize_filename(file.filename)
# 使用 UUID 作为子目录名
base_path = f"share/data/{today.strftime('%Y/%m/%d')}/{file_uuid}"
# 如果设置了存储路径,将其添加到基础路径中
path = f"{storage_path}/{base_path}" if storage_path else base_path
prefix, suffix = os.path.splitext(file.filename)
prefix, suffix = os.path.splitext(filename)
# 保持原始文件名
save_path = f"{path}/{file.filename}"
return path, suffix, prefix, file.filename, save_path
save_path = f"{path}/{filename}"
return path, suffix, prefix, filename, save_path
async def get_chunk_file_path_name(file_name: str, upload_id: str) -> Tuple[str, str, str, str, str]: