From 28f41fceef54144cf87eaedd18d09a5a8b9cd5e1 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 27 十一月 2024 09:40:58 +0800
Subject: [PATCH] dify 多次对话问题

---
 app/api/files.py |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/app/api/files.py b/app/api/files.py
index 22c2216..2189f94 100644
--- a/app/api/files.py
+++ b/app/api/files.py
@@ -75,7 +75,7 @@
         if agent_id == "basic_excel_talk":
             # 澶勭悊鍗曚釜鏂囦欢鐨勬儏鍐�
             file_list = file
-            if len(file) == 1 and agent.agent_type != AgentType.BASIC:
+            if len(file) == 1:  # and agent.agent_type != AgentType.BASIC
                 file_list = [file[0]]  # 濡傛灉鍙湁涓�涓枃浠讹紝纭繚瀹冩槸涓�涓垪琛�
             service = BasicService(base_url=settings.basic_base_url)
             # 閬嶅巻file_list锛屽瓨鍒癴iles 鍒楄〃涓�
@@ -103,11 +103,11 @@
             return Response(code=400, msg=str(e))
         dify_service = DifyService(base_url=settings.dify_base_url)
         try:
-            token = get_bisheng_token(db, current_user.id)
+            token = settings.dify_api_token
             result = await dify_service.upload(token, file.filename, file_content, current_user.id)
         except Exception as e:
             raise HTTPException(status_code=500, detail=str(e))
-        result["file_name"] = file.filename
+        # result["file_name"] = file.filename
         return Response(code=200, msg="", data=result)
 
         return Response(code=200, msg="", data=result)
@@ -188,4 +188,19 @@
             headers={"Content-Disposition": f"attachment; filename={filename}"}
         )
     else:
-        return Response(code=400, msg="Unsupported file type")
\ No newline at end of file
+        return Response(code=400, msg="Unsupported file type")
+
+
+@router.get("/image/{imageId}", response_model=Response)
+async def download_image_file(imageId: str, db=Depends(get_db)):
+    file_path = f"app/images/{imageId}.png"
+
+    def generate():
+        with open(file_path, "rb") as file:
+            while True:
+                data = file.read(1048576)  # 璇诲彇1MB
+                if not data:
+                    break
+                yield data
+
+    return StreamingResponse(generate(), media_type="application/octet-stream")
\ No newline at end of file

--
Gitblit v1.8.0