[modify] local_file bug fix

This commit is contained in:
Mark
2026-02-06 18:56:22 +08:00
parent 7559305fc9
commit 73a432879a

View File

@@ -328,7 +328,7 @@ class MultimodalService:
file: File Input Struct file: File Input Struct
Returns: Returns:
str: 文件访问 URL str: 文件访问 URL永久URL
Raises: Raises:
BusinessException: 文件不存在 BusinessException: 文件不存在
@@ -336,27 +336,29 @@ class MultimodalService:
if file.transfer_method == TransferMethod.REMOTE_URL: if file.transfer_method == TransferMethod.REMOTE_URL:
return file.url return file.url
else: else:
# 本地文件,获取访问 URL # 本地文件,通过 file_storage 系统获取永久访问 URL
from app.models.file_metadata_model import FileMetadata
from app.core.config import settings
file_id = file.upload_file_id file_id = file.upload_file_id
generic_file = self.db.query(GenericFile).filter( print("="*50)
GenericFile.id == file.upload_file_id, print("file_id",file_id)
GenericFile.status == "active"
# 查询 FileMetadata
file_metadata = self.db.query(FileMetadata).filter(
FileMetadata.id == file_id,
FileMetadata.status == "completed"
).first() ).first()
if not generic_file: if not file_metadata:
raise BusinessException( raise BusinessException(
f"文件不存在或已删除: {file.upload_file_id}", f"文件不存在或已删除: {file_id}",
BizCode.NOT_FOUND BizCode.NOT_FOUND
) )
# 如果有 access_url直接返回 # 返回永久URL
if generic_file.access_url: server_url = settings.FILE_LOCAL_SERVER_URL
return generic_file.access_url return f"{server_url}/storage/permanent/{file_id}"
# 否则,根据 storage_path 生成 URL
# TODO: 根据实际存储方式生成 URL本地存储、OSS 等)
# 这里暂时返回一个占位 URL
return f"/api/files/{file_id}/download"
async def _extract_document_text(self, file_id: uuid.UUID) -> str: async def _extract_document_text(self, file_id: uuid.UUID) -> str:
""" """