关于dify中http节点下载文件时,文件名不为原始文件名问题解决

我在使用http节点下载文件时,文件名默认为UUID,于是我设置了请求头

复制代码
Content-Disposition: attachment; filename*=UTF-8''{file_name}

但是发现还是没有变化

而且我发现设置的Content-Disposition完全没有起作用,并且返回的结果本身就是原始文件名,但是并没有启用,最后files中的filename返回的还是uuid。

我在github上发现有人有相同的问题,并且已经解决

When retrieving files using the HTTP component, the file name is incorrect, including custom plugins. Including the latest version 1.7.2 · Issue #24074 · langgenius/dify

简单来说就是需要去修改后端代码,如果是docker部署就需要去docker中修改,

修改的文件为 api/core/workflow/nodes/http_request/node.py,190行左右,修改为

python 复制代码
content_disposition_filename = None
if parsed_content_disposition:
    content_disposition_filename = parsed_content_disposition.get_filename()

filename = content_disposition_filename or url.split("?")[0].split("/")[-1] or ""
# ... rest of your logic

tool_file = tool_file_manager.create_file_by_raw(
    user_id=self.user_id,
    tenant_id=self.tenant_id,
    conversation_id=None,
    file_binary=content,
    mimetype=mime_type,
    filename=filename,  # <-- pass the filename here
)

随后就可以输出原始文件名的文件了

相关推荐
七牛开发者6 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
跨境卫士-小汪6 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
康小汪7 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机8 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
武天旭8 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南8 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术8 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API8 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫
znnnk8 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
深蓝AI8 小时前
网站正在对 AI Agent 集体关门:亚马逊封锁 Muse、银行拒绝登录,开发者怎么活下去
人工智能