使用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);
    }
相关推荐
qq_1780570713 小时前
基于minio实现的分片上传-支持断点续传
java
花归去13 小时前
echarts 柱状图包含右侧进度
开发语言·前端·javascript
wjs202413 小时前
Java 数组
开发语言
高山上有一只小老虎13 小时前
灵异背包?
java·算法
码农水水13 小时前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
qq_25183645713 小时前
基于java Web 个人网站系统设计与实现
java·开发语言·数据库
帅气的你13 小时前
Spring Boot 1.x 接口性能优化:从 3 秒到 200 毫秒的实战调优之路
java·spring boot
原神启动113 小时前
K8S(五)—— YAML文件解析
java·容器·kubernetes
Eternity∞13 小时前
基于Linux系统vim编译器情况下的C语言学习
linux·c语言·开发语言·学习·vim
周末吃鱼13 小时前
Lambda作用域
java·开发语言