使用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);
    }
相关推荐
JH30733 分钟前
为什么switch不支持long
java
gpfyyds6665 分钟前
Python代码练习
开发语言·python
盐真卿21 分钟前
python第八部分:高级特性(二)
java·开发语言
茉莉玫瑰花茶23 分钟前
C++ 17 详细特性解析(5)
开发语言·c++·算法
上海合宙LuatOS26 分钟前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
lly20240630 分钟前
《堆的 shift down》
开发语言
汤姆yu30 分钟前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
TT哇33 分钟前
【实习】银行经理端线下领取扫码功能实现方案
java
暮色妖娆丶34 分钟前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring
野犬寒鸦35 分钟前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习