feat: optimzie file model

This commit is contained in:
martsforever
2025-09-07 18:13:28 +08:00
parent 15339bdc92
commit fc4354c23a
+13 -4
View File
@@ -2,6 +2,7 @@ import datetime
from pathlib import Path
from typing import Optional
import aiofiles
from fastapi import UploadFile
from sqlmodel import Field
@@ -45,9 +46,13 @@ class FileSaveService:
datetime_string = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
file_id = f"{datetime_string}_{id}"
# 文件的保存路径,用来将文件写入到磁盘
# save_path=/www/wwwroot/web/web/upload_file/时间+随机ID
save_path = path_join(env.file_save_path, file_id).replace('\\', '/')
print("save_path", save_path)
# 文件的访问路径,用来生成文件的访问路径,然后存到附件表中的path字段中
# public_path=/web/upload_file/时间+随机ID
public_path = path_join(env.file_public_path, file_id).replace('\\', '/')
print("public_path", public_path)
@@ -55,11 +60,15 @@ class FileSaveService:
# exist_ok=True 表示如果目录已存在不抛出异常
Path(save_path).mkdir(parents=True, exist_ok=True)
file_save_path = path_join(save_path, filename)
file_public_path = path_join(public_path, filename)
file_save_path = path_join(save_path, filename) # 文件的保存路径
file_public_path = path_join(public_path, filename) # 文件的访问路径
with open(file_save_path, 'wb') as f:
f.write(await file.read())
# with open(file_save_path, 'wb') as f:
# f.write(await file.read())
async with aiofiles.open(file_save_path, 'wb') as f:
await f.write(await file.read())
await f.flush() # 确保数据写入磁盘
file_dict = {
"id": id,