dify的ChatFlow自定义上传图片并通过HTTP请求到SpringBoot后端

news2024/12/27 23:48:25

前情提要

  1. 交互场景:dify的ChatFlow上传文件(本示例是单张图片),通过HTTP请求至SpringBoot后端
  2. dify版本:0.13.2
  3. python版本:3.12.7

1. 自定义上传变量

在【开始】节点自定义变量单文件上传变量file
在这里插入图片描述

2. 下接HTTP请求节点

在这里插入图片描述
BODY要选择form-data,类型选择file,值选择你在【开始】节点那边定义的file变量。

3. SpringBoot接收参数

后端直接用MultipartFile来接收即可。
在这里插入图片描述

4. 本示例使用过程异常介绍

  1. dify使用sys.file系统变量问题
    官方文档中介绍的方式是使用系统变量sys.file,并且BODY是选择了binary,但是我试过了是不可以,请求到后端那边,后端无论是用MultipartFIle或者MultipartHttpServletRequest或者HttpServletRequest都会报错:
2024-12-24 10:22:45.684 ERROR 26176 --- [nio-9180-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Current request is not a multipart request] with root cause

在这里插入图片描述
2. SpringBoot参数接收
若是dify使用自定义上传变量,那后端用MultipartHttpServletRequest或者HttpServletRequest接收请求参数也会报错。常见的错误有两个:
1. Reached Maxium Retries (3) for URL xxxx
2. binary not found
后面尝试了多次,最终用MultipartFile参数接收成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2266641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter DragTarget拖拽控件详解

文章目录 1. DragTarget 控件的构造函数主要参数: 2. DragTarget 的工作原理3. 常见用法示例 1:实现一个简单的拖拽目标解释:示例 2:与 Draggable 结合使用解释: 4. DragTarget 的回调详解5. 总结 DragTarget 是 Flutt…

深度学习blog-Transformer-注意力机制和编码器解码器

注意力机制:当我们看一个图像或者听一段音频时,会根据自己的需求,集中注意力在关键元素上,以获取相关信息。 同样地,注意力机制中的模型也会根据输入的不同部分,给它们不同的权重,并集中注意力在…

改进爬山算法之一:随机化爬山法(Stochastic Hill Climbing,SHC)

随机化爬山法(Stochastic Hill Climbing),也被称为随机爬山法,是一种基于搜索算法的优化方法,是爬山算法的一个变种,它通过引入随机性来减少算法陷入局部最优解的风险,并增加搜索解空间的能力。这种方法特别适合于解决那些具有多个局部最优解的优化问题。 一、算法思想 …

AntDB 分布式集群模式部署

1 说明 如下图所示,AntDB 分布式数据库,包含计算节点(CN)、数据节点(DN)、全局事务管理 节点(GTM)和集群管理节点(MGR),共 4 个组成部分。 在…

Mysql数据库Redo日志和Undo日志的理解

数据库redo日志和undo日志 1、redo日志1.1 redo日志的作用1.1.1 不使用redo日志的问题1.1.2 使用redo日志的好处 1.2 redo日志刷盘策略 2、undo日志2.1 undo日志的作用2.2 undo日志的简要生成过程 1、redo日志 事务的4大特性(ACID):原子性、…

Git(11)之log显示支持中文

Git(11)之log显示支持中文 Author:Once Day Date:2024年12月21日 漫漫长路有人对你微笑过嘛… 参考文档:GIT使用log命令显示中文乱码_gitlab的log在matlab里显示中文乱码-CSDN博客 全系列文章可查看专栏: Git使用记录_Once_day的博客-CSD…

循环神经网络(RNN)入门指南:从原理到实践

目录 1. 循环神经网络的基本概念 2. 简单循环网络及其应用 3. 参数学习与优化 4. 基于门控的循环神经网络 4.1 长短期记忆网络(LSTM) 4.1.1 LSTM的核心组件: 4.2 门控循环单元(GRU) 5 实际应用中的优化技巧 5…

腾讯云云开发 Copilot 深度探索与实战分享

个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 一、引言 二、产品介绍 三、产品体验过程 四、整体总结 五、给开发者的复用建议 六、对 AI 辅助开发的前景展望 一、引言 在当今数字化转型加速的时代,…

WebRTC服务质量(10)- Pacer机制(02) RoundRobinPacketQueue

WebRTC服务质量(01)- Qos概述 WebRTC服务质量(02)- RTP协议 WebRTC服务质量(03)- RTCP协议 WebRTC服务质量(04)- 重传机制(01) RTX NACK概述 WebRTC服务质量(…

基于python的电子报实现思路

一种基于PDF生成电子报的思路 需求提出实现思路:技术路线核心代码: 需求提出 最近公司提出了一个电子报的需求,可看网上实现的思路基本上是方正系列的排版软件实现的,公司没必要买这么一套,于是按照自己的思路搞了一个…

【HarmonyOS NEXT】鸿蒙原生应用“上述”

鸿蒙原生应用“上述”已上架华为应用市场,欢迎升级了鸿蒙NEXT系统的用户下载体验,用原生更流畅。 个人CSDN鸿蒙专栏欢迎订阅:https://blog.csdn.net/weixin_44640245/category_12536933.html?fromshareblogcolumn&sharetypeblogcolumn&a…

IntelliJ IDEA中设置激活的profile

在IntelliJ IDEA中设置激活的profile,可以通过以下步骤进行: 通过Run/Debug Configurations设置 打开Run/Debug Configurations对话框: 在IDEA的顶部菜单栏中,选择“Run”菜单,然后点击“Edit Configurations...”或者…

抖去推碰一碰系统技术源码/open SDK转发技术开发

抖去推碰一碰系统技术源码/open SDK转发技术开发 碰一碰智能系统#碰碰卡系统#碰一碰系统#碰一碰系统技术源头开发 碰碰卡智能营销系统开发是一种集成了人工智能和NFC技术的工具,碰碰卡智能营销系统通过整合数据分析、客户关系管理、自动化营销活动、多渠道整合和个…

jumpserver docker安装

#安装jumpserver最新版本(当前最新版本v4.5.0-ce) curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash#登录 http://192.168.31.168/ 默认账号密码 admin/ChangeMe 修改后: ad…

Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件

Linux Debian12基于ImageMagick图像处理工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件,”多个图片分开生成多个PDF文件“或者“多个图片合并生成一个PDF文件” BiliBili视频链接: Linux shell脚本对常见图片格式批量转换…

详细介绍Sd-WebUI提示词的语法规则

AI绘画中最大的门槛就是提示词,对英语水平、文学水平、想象力、灵感等要求较高。不能每次一输入正向提示词(positive prompt),就只会写a girl, big eyes, red hair。虽然sd-webui软件可以直接翻译,输入一个子母后会立刻…

对Python中队列三种实现方式的测试

一、结论 本程序模拟比较队列的三种情况: 一、deque当作队列使用; 二、queue当作队列使用; 三、list当作队列使用。 结论: Python队列可以用deque、queue、list实现,其中list极慢、queue较慢&#xf…

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么? CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台,包括VSCode、IDER、Chrome插件、Web和APP等,支持插件安装,尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

Unity中如何修改Sprite的渲染网格

首先打开SpriteEditor 选择Custom OutLine,点击Genrate 则在图片边缘会出现边缘线,调整白色小方块可以调整边缘 调整后,Sprite就会按照调整后的网格渲染了。 如何在UI中使用? 只要在UI的Image组件中选择Use Sprite Mesh 即可 结果&#xff1…

【机器学习】探索机器学习与人工智能:驱动未来创新的关键技术

探索机器学习与人工智能:驱动未来创新的关键技术 前言:人工智能的核心技术深度学习:自然语言处理(NLP):计算机视觉: 机器学习与人工智能的驱动创新医疗健康领域金融行业智能制造与工业互联网智慧…