zhaoqingang
2024-12-03 319e3e93bbb4807da58db2ac72bb8f3029738dd7
app/api/files.py
@@ -92,25 +92,37 @@
        elif agent_id == "basic_paper_agent":
            service = BasicService(base_url=settings.basic_paper_url)
            result = await service.paper_file_upload(chat_id, file.filename, file_content)
            # result = await service.paper_file_upload(chat_id, file.filename, file_content)
    elif agent.agent_type == AgentType.DIFY:
        file = file[0]
        # 读取上传的文件内容
        try:
            file_content = await file.read()
        except Exception as e:
            return Response(code=400, msg=str(e))
        token = settings.dify_api_token
        dify_service = DifyService(base_url=settings.dify_base_url)
        try:
            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))
        if agent.type == "imageTalk":
            file = file[0]
            # 读取上传的文件内容
            try:
                file_content = await file.read()
            except Exception as e:
                return Response(code=400, msg=str(e))
            try:
                data = await dify_service.upload(token, file.filename, file_content, current_user.id)
            except Exception as e:
                raise HTTPException(status_code=500, detail=str(e))
        elif agent.type == "reportWorkflow":
            result = []
            for f in file:
                try:
                    file_content = await f.read()
                except Exception as e:
                    return Response(code=400, msg=str(e))
                try:
                    file_upload = await dify_service.upload(token, f.filename, file_content, current_user.id)
                    result.append(file_upload)
                except Exception as e:
                    raise HTTPException(status_code=500, detail=str(e))
        # result["file_name"] = file.filename
        return Response(code=200, msg="", data=result)
        return Response(code=200, msg="", data=result)
            data = {"files": result}
        return Response(code=200, msg="", data=data)
@router.get("/download/", response_model=Response)