如何使用文件作为参数,调用接口并获取返回数据?

2023-11-07

String path = "picture/20220420/1.doc";//指定文件的路径 或相对路径
File file = new File(path);
System.out.println("文件名:"file.getName()+"=====文件绝对路径:"+file.getAbsolutePath());
InputStream fileInputStream = new FileInputStream(file);//获取文件流
HttpPost post = new HttpPost("http://***/demo/upload");
//创建多部分实体生成器 可实现多文件上传 用于添加上传数据
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setCharset(Charset.forName("uft-8"));//设置请求的编码格式
String fileName = file.getName();
//addBinaryBody:以二进制的形式添加数据,可以添加File、InputStream、byte[]类型的数据
builder.addBinaryBody("file", fileInputStream, ContentType.DEFAULT_BINARY,fileName);
//addTextBody:添加文本数据
builder.addTextBody("type", "doc");
//构建完毕后放进请求路径post中 作为参数
post.setEntity(builder.build());
//开启一个客户端 HTTP 请求
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
CloseableHttpClient client = httpClientBuilder.build();
//执行请求
HttpResponse httpResponse = client.execute(post);
//是否请求成功 根据状态码来判断
if(response.getStatusLine().getStatusCode()==200){
    //这就是请求成功后 响应回来的数据
    String s = EntityUtils.toString(httpResponse.getEntity();
    return true;
}
return false;

同理可得,多文件上传的话:
1.只需多加几个addBinaryBody,需要注意的是该api中第一个参数不要重复
2.文件路径可以指向一个文件夹,然后获取里面所有文件进行遍历上传,循环里的操作同上1一样

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用文件作为参数,调用接口并获取返回数据? 的相关文章

随机推荐

  • MySQL约束

    概述 什么是MySQL约束 约束是作用于表中字段上的规则 用于限制存储在表中的数据 约束有什么作用 保证数据库中数据的正确 有效性和完整性 分类 约束 描述 关键字 非空约束 限制该字段的数据不能为null NOT NULL 唯一约束 保证
  • 军衔系统与服务器人数,经验越打越少?CSGO个人资料军衔(等级)介绍

    本文将为CSGO玩家们详细介绍CSGO个人资料军衔 经验等级 系统 包括解释为什么经验越打越少 CSGO个人资料军衔系统于2015年5月26日随血猎大行动一同引入 玩家可以在官方服务器任何模式游戏获得经验 XP 并升级 与水平组等级 段位
  • Ant-design-vue框架学习。

    1 安装教程 npm install ant design vue save 2 运用vue cli3 0版本搭建脚手架 3 样式布局layout插件布局快速实现整体布局 4 lib flexible实现屏幕适配 安装 npm instal
  • Tomcat

    关于Tomcat和Tomcat的面试问题 一 Tomcat的缺省是多少 怎么修改 Tomcat的缺省端口号是8080 修改Tomcat端口号 1 找到Tomcat目录下的conf文件夹2 进入conf文件夹里面找到server xml文件3
  • Java线程池ThreadPoolExecutor应用(Spring Boot微服务)

    记录 475 场景 在Spring Boot微服务中使用Java线程池ThreadPoolExecutor 实现Runnable接口提交线程任务到线程池 版本 JDK 1 8 Spring Boot 2 6 3 1 使用注解配置线程池Thr
  • EMC定义 +EMC问题定位整改

    参考链接 强烈推荐 1 有源医疗器械电磁兼容入门知识汇总 2 电磁兼容EMC测试 电磁兼容整改 EMC整改 深圳第三方检测认证机构 3 EMC设计和整改 定位 专题 最重要 https blog csdn net lyh290188 cat
  • MATLAB的Structure数组

    数组的定义与调用 gt gt s struct a 1 4 7 2 9 3 Anne b James pi c magic 3 1 7 使用struct函数创建结构数组 gt gt s 1 1 a 1 2 ans 1 1 cell 数组 4
  • jdk和java什么关系_Java中JDK和JRE的区别是什么?它们的作用分别是什么?

    JDK和JRE是Java开发和运行工具 其中JDK包含了JRE 但是JRE是可以独立安装的 它们在Java开发和运行的时候起到不同的作用 1 JDK JDK是Java Development Kit的缩写 是Java的开发工具包 主要包含了
  • http的get请求如何传递一个对象

    原文链接 https www longkui site program frontend httpget 4366 0 前言 以前前台往后台对象时 后台都用POST请求 前台有时候通过拼接参数传参 会显得比较长 所以考虑前台GET请求能否直
  • Linux (Centos)下pip命令出现错误bash: pip: 命令未找到..解决方案

    今天在服务器上跑程序 提示没有XX模块 我就用pip install XX 安装了一下 结果竟然提示pip命令找不到了 pip3能安装 但是pip3 list一看 里面都没有torch包 之前应该都是用pip安装的才对 去网上找了一通 发现
  • 【算法】分支定界

    一 基本描述 类似于回溯法 也是一种在问题的解空间树T上搜索问题解的算法 但在一般情况下 分支限界法与回溯法的求解目标不同 回溯法的求解目标是找出T中满足约束条件的所有解 而分支限界法的求解目标则是找出满足约束条件的一个解 或是在满足约束条
  • React组件的生命周期

    1 组件生命周期概述 什么是组件的生命周期 组件从被创建到挂载到页面中运行 再到组件不用时卸载的过程 这个过程就叫做组件的生命周期 react在组件的生命周期中提供了一系统的钩子函数 可以让开发者在函数中注入代码 这些代码会在适当的时候运行
  • java ip解析_java域名解析

    DNS原理 http amon org dns introduction html 根域 就是所谓的 根域服务器只是具有13个IP地址 但机器数量却不是13台 因为这些IP地址借助了 域的划分 根域下来就是顶级域或者叫一级域 每个域都会有域
  • [element-ui] el-dropdown下拉菜单禁用项没有鼠标悬浮禁用样式

    鼠标移入出现禁用样式 如下图 就是我们想要的效果
  • Blender3.5 - 快捷键

    图形移动 框选 gt 刷选 gt 套索选择 W 游标 相当于形状的中心点 shitf 空格 空格 游标回到世界中心 shift C 移动 移动 G 随意移动 选中图形 G 沿 X 轴移动 选中图形 G X 沿 Y 轴移动 选中图形 G Y
  • 动态内存(智能指针与new)

    文章目录 一 引言 二 动态内存管理 1 使用动态内存的原因 2 智能指针 2 1 shared ptr 2 1 1 shared ptr定义与初始化 2 1 2 shared ptr操作 2 1 3 make shared操作 2 1 4
  • 【剑指 Offer】(四种解法)数组中重复的数字

    剑指 Offer 03 数组中重复的数字 题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0 n 1 的范围内 数组中某些数字是重复的 但不知道有几个数字重复了 也不知道每个数字重复了几次 请找出数组中任意一个重复的数字 示
  • 微信公众号与企业号的TOKEN验证与使用

    上图是 微信客户端与微信服务端与公众号 企业号的服务器的原理架构 首先 我们如果使用应用服务器 则需要告诉微信服务器 它在哪里 所以TOKEN就是一个标识的作用 TOKEN是一个参数 是一个自定义的值 负责标识微信服务器和应用服务是不是一一
  • unity狼模型、山谷模型

    unity狼模型 山谷模型 模型如下图 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 60362226
  • 如何使用文件作为参数,调用接口并获取返回数据?

    String path picture 20220420 1 doc 指定文件的路径 或相对路径 File file new File path System out println 文件名 file getName 文件绝对路径 file