java调用下载接口下载文件

这篇博客详细介绍了如何使用Java调用下载接口,包括设置请求头、token验证、获取URL连接、从响应头获取文件名以及将文件流保存到本地的步骤。涉及到的主要方法包括设置token实体类、获取token、建立HTTPS连接以及处理文件流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

流程:

说明:

一、下载方法调用

二、调用下载文件接口,将文件下载保存到本地主方法

三、设置请求头,包含token验证

四、token验证,如果不需要则不设置

4.1 设置token实体类,获取token

4.2 token实体类

4.3 获取token

4.4 获取token需要调用post接口

 五、获取url连接HttpsURLConnection

六、从响应请求头中获取文件名

七、获取文件流后,将文件下载到本地

7.1 创建本地路径


流程:

1.设置请求头,如果需要token验证的话,也需要在请求头中设置
2.设置url地址,在get请求中,请求参数在路径中体现
3.获取url连接HttpsURLConnection
4.从HttpsURLConnection中获取文件名,在本示例中传入的参数就是文件名则不需要去获取文件名
5.从HttpsURLConnection中获取输入流
6.循环读取输入流,写入输出流,将文件下载到本地

说明:

一是调用下载方法

二是主方法,主要流程

剩余的是主方法中调用的方法


一、下载方法调用

    public void testFileDownload() {
        String fileName = "文件名";
        String domainUrl = "https://127.1.1.1:7443";
        String apiUrl = "/api/v1/download/file";
        //如果不需要token验证则不需要设置
        String tokenUrl = "/api/v1/gettoken";
        String userName = "openapiuser";
        String password = "Ubuntu_123";
        try {
            downloadLocalFile( fileName,  domainUrl,  apiUrl,  tokenUrl,  userName,  password);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

二、调用下载文件接口,将文件下载保存到本地主方法

    public void downloadLocalFile(String fileName, String domainUrl, String apiUrl, String tokenUrl, String userName, String password) throws IOException {
        //1.获取token(调用接口前,一般需要验证即token验证。如果没有就不用设置),设置请求头
        HashMap<String, String> header = getHeader(domainUrl, tokenUrl, userName, password);
        //2.设置url地址,在get请求中,请求参数在路径中体现
        String url = domainUrl + apiUrl + "?fileName=" + fileName;
        //3.获取url连接
        HttpsURLConnection httpsConn = HttpsUtil.getHttpsURLConnection(url, "GET", header);
        //从HttpsURLConnection中获取文件名,在本示例中传入的参数就是文件名则不需要去获取文件名
        String fileName1 = getFileName(httpsConn);
        //4.从HttpsURLConnection中获取输入流
        try (InputStream inputStream = httpsConn.getInputStream()) {
            //5.将文件下载到本地
            downloadFileToLocal(inputStream, fileName);
        } catch (IOException e) {
            System.out.println("download file fail");
        } finally {
            //6.关闭http连接
             try {
                httpsConn.disconnect();
            } catch (Exception e) {
                System.out.println("----Close HttpsURLConnection fail");
            }
        }
    }

三、设置请求头,包含token验证

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值