JAVA调用dify工作流,获取工作流输出的文件

最近在学习dify方面的知识,过程遇到的一些小困难,记录一下。
java调用的代码主要参考这个基于 Spring Boot 和 Dify 实现流式响应输出_springboot dify-CSDN博客
当然,你可能做点修改


如果你直接部署dify,没有进行其他相关配置,那么在通过java调用后,应该会输出以下的内容

流式结果:StreamResponse(event=message, id=44f74b98-22bf-43e6-916c-f738e5704d79, task_id=d05f7e19-640c-4292-bb2b-de1681e803cf, message_id=44f74b98-22bf-43e6-916c-f738e5704d79, answer=这是根据您需求生成的文件:[a0277b8185f64150bbecd372b7023c8a.xlsx](/files/tools/28f48078-8dbc-4954-aff2-ec8bc8fd7ded.xlsx?timestamp=1746515049&nonce=da4ed54481aad55f8c8d71afe5b784af&sign=VMiX1jCevCsyCQIt8dSfszA5jJCCX5An9dD3Z6wl8lE=), created_at=1746514907, conversation_id=f41acbdb-54b7-4318-82de-e7d7448928c5, data=null)
主要看/files/tools/

当我们在dify的页面下载文件时,也就是

这时候其他访问的是127.0.0.1:80/files/tools/.....;所以能下载文件,dify默认启动端口就是80,
,当用java代码调用时返回的只有/files/tools.....,然后前端点击时,会判断你这个地址正不正确,/files/tools...,没有http://或者https://,也没有端口,此时你点击访问的路径会是你前端的路径+/files/tools,例如http://localhost:1002/files/tools....,所以会访问不到,这时后只要我们修改一下。env文件就行了,找到你安装dify目录的docker目录,里面可以找到.env文件

不同版本内容可能有所差异,我的是dify1.3,FILES_URL本来是空的,这里加上dify的路径就行,我是运行在80端口,所以我这里没加端口,如果你修改了运行的端口,这里记得要加上,修改完后在dify的docker目录下命令行执行docker-compose down && docker-compose up -d即可,

如果你直接在这里停止又启动,大概率没效果,起码我是没有,所以用上面的命令启动,完成之后再次调用,此时返回的就是http://127.0.0.1/files/tools/......

此时我们在自己的页面点击就能下载文件了。

当然,获取方式有很多种,这只是其中一种而已。其他的就自行研究了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值