JAVA Http接口获取文件下载流,将下载的文件上传阿里云

这篇具有很好参考价值的文章主要介绍了JAVA Http接口获取文件下载流,将下载的文件上传阿里云。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 需要根据,业务数据,将存在第三方平台的数据,下载至本地,或转存阿里云OSS中。文章来源地址https://www.toymoban.com/news/detail-574712.html

@ApiOperation(value = "下载录音", notes = "")
    @GetMapping("/download")
    public CommonResult<?> download(String callId) {
        final List<DpxdataTelCall> list = telCallService.lambdaQuery()
                .isNotNull(DpxdataTelCall::getCallId)
                .isNull(DpxdataTelCall::getCallFile)
                .eq(StringUtils.isNotBlank(callId), DpxdataTelCall::getCallId, callId)
                .list();
        URL url = null;
        HttpURLConnection conn = null;
        InputStream inputStream = null;
        BufferedReader br = null;
        String urlStr = "";
        StringBuffer sb = null;
        List<DpxdataTelCall> updateList = new ArrayList<>();
        for (DpxdataTelCall item : list) {
            try {
                urlStr = "http://m.icsoc.net/v2/wintelapi/record/playrecord?vcc_code=" + "code" + "&call_id=" + item.getCallId();
                url = new URL(urlStr);
                conn = (HttpURLConnection) url.openConnection();
                // 设置超时间为10秒
                conn.setConnectTimeout(10 * 1000);
                //获取输入流
                inputStream = conn.getInputStream();
                sb = new StringBuffer();
                br = new BufferedReader(new InputStreamReader(inputStream));
                String line = null;
                while ((line = br.readLine()) != null) {
                    line = new String(line.getBytes(), "utf-8");
                    sb.append(line);
                }
                if (sb.toString().indexOf("code") == -1) {
                    urlStr = "http://m.icsoc.net/v2/wintelapi/record/playrecord?vcc_code=" + "code" + "&call_id=" + item.getCallId();
                    url = new URL(urlStr);
                    conn = (HttpURLConnection) url.openConnection();
                    // 设置超时间为10秒
                    conn.setConnectTimeout(10 * 1000);
                    //获取输入流
                    inputStream = conn.getInputStream();
                    final String telFile = OssBootUtil.upload(inputStream, "upload/tel/" + item.getCallId() + "_" + System.currentTimeMillis() + ".mp3");
                    item.setCallFile(telFile);
                    updateList.add(item);
                    log.info("下载录音文件 -> {} ,{}", item.getPersonId(), item.getCallId());
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (CollectionUtil.isNotEmpty(updateList)) {
            telCallService.updateBatchById(updateList);
        }
        return CommonResult.success("下载录音文件数量" + updateList.size());
    }

到了这里,关于JAVA Http接口获取文件下载流,将下载的文件上传阿里云的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月16日
    浏览(60)
  • http文件上传下载方案

    后端生成文件,返回二进制给前端 案例 设置 Content-Type 未对应文件的 MIME类型 将文件内容二进制写入http body 后端返回数据,前端生成文件 案例报文:

    2024年02月12日
    浏览(50)
  • 【Postman】 测试文件上传、下载 一、使用PostMan测试文件上传接口

    1、、选择post请求方式,输入请求地址   二、填写Headers  一般是自动生成的 Key:Content-Type Value:multipart/form-data 如下图   三、填写body 选择form-data     然后选择文件file    点击添加文件,最后发送即可   1、反馈异常,先排查 Headers中 Conten-Type 与 ”文件类型“是否匹配  

    2024年02月11日
    浏览(62)
  • 接口自动化测试——文件上传/下载

    我们在做接口自动化测试的时候,经常会碰到 文件上传接口 和 文件下载接口 。 那么,文件接口跟普通接口有什么区别呢?又该如何实现呢? 〇、前言 文件上传/下载接口 与 普通接口 类似,但是有细微的区别。 如果需要发送文件到服务器,例如:上传文档、图片、视频等

    2024年02月09日
    浏览(46)
  • Postman 如何调用文件上传下载接口

    文件导入导出是管理后台的通用功能,所以在接口写好后在没有前端页面使用Postman进行接口调用测试接口功能成为一个选择。 导出  在我们输入接口地址,token等候  点击send  发现下载的成为了乱码(如下图) 这明显不符合我们的预期期望,在send按钮旁边下拉框 选择Send And  D

    2024年02月11日
    浏览(54)
  • 接口自动化测试:文件上传/下载(最详细)

    我们在做接口自动化测试的时候,经常会碰到文件上传接口和文件下载接口。那么,文件接口跟普通接口有什么区别呢?又该如何实现呢? 文件上传/下载接口与普通接口类似,但是有细微的区别。 如果需要发送文件到服务器,例如:上传文档、图片、视频等,就需要发送二

    2024年02月07日
    浏览(45)
  • C/C++ 通过HTTP实现文件上传下载

    WinInet(Windows Internet)是 Microsoft Windows 操作系统中的一个 API 集,用于提供对 Internet 相关功能的支持。它包括了一系列的函数,使得 Windows 应用程序能够进行网络通信、处理 HTTP 请求、FTP 操作等。WinInet 提供了一套完整的网络通信工具,使得开发者能够轻松地构建支持网络功

    2024年02月19日
    浏览(47)
  • [Python http.server] 搭建http服务器用于下载/上传文件

    动机: 笔者需测试bs架构下的文件上传与下载性能,故想通过Python搭建http服务器并实现客户端与服务器之间的文件上传和下载需求 难点: 这应该是很基础的东西,不过笔者之前未接触过http编程,谨在此记录下学习的过程,可能不是最优解 方法: 在服务器端部署html页面,并

    2024年02月11日
    浏览(44)
  • SpringBoot整合minio,文件的上传下载,批量获取

    Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。基于Apache License v2.0开源协议的对象存储项目,采用Golang实现,客户端支Java,Python,Javacript, Golang语言。 其设计的主要目标是作为私有云对象存储的标准方案。主要用于存储海量的图片,视频,文档等。非常适合于存储

    2024年02月12日
    浏览(47)
  • 在Linux系统(服务器)使用阿里云盘服务快速上传下载文件

    使用集群服务器的时候,尤其是当服务器有多个节点时有些复杂,连接集群我们一般用xshell,传输文件我们一般使用Xftp,一般对于单个节点服务器来说是方便的,使用Xftp还可以可视化本地和服务器端的文件,但当有多个节点时,这就不适用了,他不能选择节点,有局限,连接

    2024年02月04日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包