使用Hutoo库HttpRequest工具类调用MultipartFile参数接口

介绍: A项目调用B项目接口并提供与B相同接口

java 复制代码
    @PostMapping
    @ApiOperation("add")
    public AjaxResult add(@RequestParam(value = "file") MultipartFile file, RemoteSense remoteSense) throws IOException {
        if (file == null || file.isEmpty()) {
            return AjaxResult.error("文件不能为空");
        }

        // 将 RemoteSense 对象转换为 Map 以便传递参数
        Map<String, Object> remoteSenseParams = BeanUtil.beanToMap(remoteSense, false, true);

        // 将 InputStream 封装为 Hutool 的 Resource
        Resource fileResource = new InputStreamResource(file.getInputStream(), file.getOriginalFilename());

        // 使用 Hutool 的 form 方法传递 Resource
        HttpResponse response = HttpRequest.post(REMOTE_SENSE_BASE_URL)
                .form("file", fileResource)  // 直接传递 InputStreamResource 代替 File
                .form(remoteSenseParams)  // 添加其他参数
                .execute();

        return JSON.parseObject(response.body(), AjaxResult.class);
    }
相关推荐
怒放吧德德4 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆5 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌8 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊9 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang9 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
用户8307196840829 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Ray Liang10 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解11 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing15 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean15 小时前
Jackson View Extension Spring Boot Starter
java·后端