diff --git a/server/routers/knowledge_router.py b/server/routers/knowledge_router.py index 782be605..a52bfe9a 100644 --- a/server/routers/knowledge_router.py +++ b/server/routers/knowledge_router.py @@ -411,8 +411,16 @@ async def delete_document(db_id: str, doc_id: str, current_user: User = Depends( try: file_meta_info = await knowledge_base.get_file_basic_info(db_id, doc_id) file_name = file_meta_info.get("meta", {}).get("filename") - minio_client = get_minio_client() - await minio_client.adelete_file("ref-" + db_id.replace("_", "-"), file_name) + + # 尝试从MinIO删除文件,如果失败(例如旧知识库没有MinIO实例),则忽略 + try: + minio_client = get_minio_client() + await minio_client.adelete_file("ref-" + db_id.replace("_", "-"), file_name) + logger.debug(f"成功从MinIO删除文件: {file_name}") + except Exception as minio_error: + logger.warning(f"从MinIO删除文件失败(可能是旧知识库): {minio_error}") + + # 无论MinIO删除是否成功,都继续从知识库删除 await knowledge_base.delete_file(db_id, doc_id) return {"message": "删除成功"} except Exception as e: