使用hutool工具类HttpUtil请求外部接口传输文件

这篇具有很好参考价值的文章主要介绍了使用hutool工具类HttpUtil请求外部接口传输文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、业务需求

外部服务器请求系统文件接口,系统接口返回文件流,并下载到本地。

hutool httpclient 获取文件流,java,java

2、代码实现

外部接口返回map

@GetMapping("/downloadFile")
@ResponseBody
public Map<String,byte[]> downloadFile(String fileUrl){
    Map<String,byte[]> map = new HashMap<>();
    byte[] bytes = dowLoadFile(fileUrl);
    map.put("data",bytes);
    return map;
}

public byte[] dowLoadFile(String fileUrl) throws IOException{
    FileInputStream in = new FileInputStream(new File(fileUrl));
    ByteArrayOutputStream ous = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int len;
    while(-1 != (len = in.read(buffer))){
        ous.write(buffer,0,len)
    }
    return ous.toByteArray();
}

使用HttpUtil调用外部接口,实现文件下载到本地

public void downloadFile(String fileUrl) throws IOException{
    String host = "http://127.0.0.1:8080";
    String url = "/downloadFile?fileUrl=" + fileUrl;
    String data = HttpUtil.createGet(host + url).execute().body();
    JSONObject json = JSONUtil.parseObj(data);
    Object obj = json.get("data");
    byte[] bytes = Convert.toPrimitveByteArray(obj);
    String suffix = fileUrl.substring(fileUrl.lastIndexOf("."));
    String fileName = "新的文件名" + suffix;
    FileOutputStream out = new FileOutputStream("D:/yyk/tt/" + fileName);
    out.write(bytes);
    out.close();
}

3、成果展示

hutool httpclient 获取文件流,java,java文章来源地址https://www.toymoban.com/news/detail-780281.html

到了这里,关于使用hutool工具类HttpUtil请求外部接口传输文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用hutool工具发送post请求

     import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil;         JSONObject jsonObject = JSONUtil.createObj();             jsonObject.put(\\\"shift\\\", \\\"D\\\");             jsonObject.put(\\\"model\\\", dataMap.get(\\\"MODEL\\\"));             jsonObject.put(\\\"stage\\\", dataMap.

    2024年02月13日
    浏览(35)
  • 调用hutool包调用http接口处理文件流-文件的上传下载工具类

    hutool工具类get请求获取流: InputStream inputStream = HttpRequest.get(fileUrl).execute().bodyStream(); hutool工具类post请求上传文件流: String resp = HttpRequest.post(url).header(Header.CONTENT_TYPE.getValue(), ContentType.MULTIPART.getValue()).form(params).execute().body(); 完成代码

    2024年01月17日
    浏览(43)
  • java使用hutool工具类发送http或者https请求太香啦

    我们使用java内置的http工具实现远程调用的时候,都是用try catch包一堆代码,巨难受,今天看见有人使用hutool工具类那是天简单了呀,具体操作如下: 1,引入依赖 2, 如果不需要设置其他什么头信息,代码: 如果是https请求直接换url里面的http就行 返回信息格式: {\\\"code\\\":200

    2024年02月14日
    浏览(27)
  • 记录一下用httpUtil工具类的post请求带头部参数

    本来网上有很多HttpUtil工具类封装,里面封装了各种doget/dopost 本身自己项目之前也有人用过,但是最近对接一个第三方短信平台,按照他们的文档需要传参头部参数,但是不知道为什么用现有的post请求没法修改头部参数,所以自己写一个post请求吧

    2024年02月12日
    浏览(31)
  • 使用HuTool的Http工具发送post传递中文参数,请求会乱码的解决方法

    Hutool 是一款功能丰富、易用的Java工具类库,我们在工作中经常会使用它的各种类库方法简化我们的开发,其中我们甚至能通过它的Http工具类直接发送http的各种请求,下面来介绍一下发送post请求时参数中有中文出现乱码的解决方法。 这样就不会造成请求参数出现乱码问题

    2024年02月01日
    浏览(32)
  • java发送http请求的几种方式,调用第三方接口的方法:HttpUtil、HttpURLConnection等

    参考:https://blog.csdn.net/yubin1285570923/article/details/126225347 put请求 post带请求头 get、delete类似… 使用JDK原生提供的net,无需其他jar包,代码如下: 需要用到commons-httpclient-3.1.jar,maven依赖如下: 看一下我实际应用的例子 需要用到httpclient-4.5.6.jar,maven依赖如下: RestTemplate 是由

    2024年01月18日
    浏览(40)
  • java通过hutool的HttpUtil来发送和获取远程http数据

    java通过hutool的HttpUtil来发送和获取远程http数据 导入如下jar包: 1 2 3 4 5 dependency      groupId cn.hutool/ groupId      artifactId hutool-all/ artifactId      version 5.7.1/ version / dependency 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4

    2024年02月15日
    浏览(27)
  • 使用hutool工具(ZipUtil)对多文件打包压缩并通过浏览器下载

    使用hutool工具对多文件进行打包压缩并下载 需求 工作中遇到需要将详情页面数据导出为word,同时详情中有图片和附件,由于附件没法写入到word中(可能是自己没有找到对应的解决办法) , 故将需要导出的word文件,和附件一同打包成zip,进行下载 实现 共两个步骤 1 . 使用hutool对多文

    2024年02月12日
    浏览(30)
  • cn.hutool.http.HttpUtil类get方法不支持获取重定向地址(避坑)

    问题 工作中场景需要通过获取url地址内容,展示返回给客户端,但上线后发现不满足需求,原因是url地址进行302重定向, 进一步了解是因为HttpUtil.get方法不能获取重定向地址,需要使用HttpUtil.createGet()来设置打开重定; 理解302: 302 表示临时性重定向,访问一个Url时,被重定

    2024年02月01日
    浏览(30)
  • 使用hutool工具,对多文件下载进行打包下载,这里使用的是zip压缩算法。

    参考以下博主: Java实现文件下载zip包单文件等_java下载zip文件_liu.kai的博客-CSDN博客 先将需要压缩的文件们打包在一块生成一个临时压缩包 将这个临时的压缩包,以单文件下载的方式,给前端响应过去 删除临时的压缩包

    2024年02月04日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包