WebClient中的文件上传与下载是怎样的
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这期内容当中小编将会给大家带来有关WebClient中的文件上传与下载是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。WebClient是从Spring 5开
千家信息网最后更新 2025年01月23日WebClient中的文件上传与下载是怎样的
这期内容当中小编将会给大家带来有关WebClient中的文件上传与下载是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
WebClient是从Spring 5开始提供的一个HTTP客户端库,为了使用WebClient进行文件上传和下载,需要我们先编写服务端的支持文件上传和下载的程序。请参考我之前写的一篇文章:SpringBoot实现本地存储文件上传及提供HTTP访问服务。按照此文完成学习之后,可以获得
一个以访问服务URI为"/upload"的文件上传服务端点
服务端点上传文件成功后会返回一个HTTP连接,可以用来下载文件。
下面我们就开始学习使用WebClient是HTTP客户端库,进行文件的上传与下载。
一、文件上传
在本地8888端口搭建了一个文件上传接收的服务端,服务端点为"/upload"。上传本地磁盘中的一个文件"D:\data\local\splash.png"
@SpringBootTestclass UpDownLoadTests { //创建webClient private WebClient webClient = WebClient.builder() .baseUrl("http://localhost:8888/") .build(); [@Test](https://my.oschina.net/azibug) void testUpload() { // 待上传的文件(存在客户端本地磁盘) String filePath = "D:\\data\\local\\splash.png"; // 封装请求参数 FileSystemResource resource = new FileSystemResource(new File(filePath)); MultiValueMapparam = new LinkedMultiValueMap<>(); param.add("uploadFile", resource); //服务端MultipartFile uploadFile //param.add("param1", "test"); //服务端如果接受额外参数,可以传递 // 发送请求 Mono mono = webClient .post() // POST 请求 .uri("/upload") // 请求路径 .contentType(MediaType.APPLICATION_FORM_URLENCODED) .body(BodyInserters.fromMultipartData(param)) .retrieve() // 获取响应体 .bodyToMono(String.class); //响应数据类型转换 // 输出结果 System.out.println(mono.block()); }}
输出打印结果如下:
文章上传之后返回一个HTTP URL访问地址,可以通过浏览器访问,也可以通过程序下载。
二、文件下载
执行下列代码之后,被下载文件url,会被正确的保存到本地磁盘目录
[@Test](https://my.oschina.net/azibug)void testDownLoad() throws IOException { Monomono = webClient .get() // GET 请求 .uri("/2020/08/22/0f0a353a-7033-4a13-832e-d043f6360514.png") // 请求路径 .accept(MediaType.APPLICATION_OCTET_STREAM) .exchange(); // 获取响应体 ClientResponse response = mono.block(); Resource resource = response.bodyToMono(Resource.class).block(); assert resource != null; Files.copy(resource.getInputStream(), Paths.get("D:\\data\\local\\splash-down.png" ));}
上述就是小编为大家分享的WebClient中的文件上传与下载是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
文件
服务
客户
客户端
端点
内容
参数
可以通过
文章
磁盘
程序
篇文章
结果
路径
分析
学习
输出
成功
专业
中小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库手机字段
数据库书籍 英文
魔兽世界其他服务器转怀旧服
兰贝服务器机柜
网络安全法视频全集
河源数字软件开发优化价格
上海棋牌软件开发
黄石市网络安全宣传周答题
浦东公安局网络安全保卫支队
邯郸工控软件开发如何收费
GDC服务器阵列架怎么修复
服务器利用
广东电商软件开发价格表
怀旧服开新区服务器
网络技术对于国家的重要性
单机系统数据库文件丢失
远程办公网络安全吗
贵州辰汐网络技术服务有限公司
湖北运营软件开发条件
网络安全宣讲心得
服务器日常维护pdf
精蝉互联网科技
网络安全保护七原则
sql 系统数据库 详细
问道现在选什么服务器
qt多界面操作同一个数据库
数据库日志审计工具
重庆永川果蔬软件开发
阿里巴巴香港服务器流量
数据库外键数据类型不匹配