当前位置: 首页 > news >正文

根据minio地址,下载文件流

下载文件转流一

public void downloadPdf(HttpServletResponse response) {try {String fileName = minioPdfConfig.getFileName();response.setContentType("application/pdf");response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// 拼写文件下载信息String downloadApi = String.format(ChinaTowerApiConstants.FILE_DOWNLOAD,minioPdfConfig.getBucketName(), fileName);
// 下载文件并转成字节byte[] buffer = HttpUtil.downloadBytes(chinaTowerConfig.getMinioUrl() + downloadApi);// 清空responseresponse.reset();try {OutputStream toClient = new BufferedOutputStream(response.getOutputStream());toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException e) {e.printStackTrace();}} catch (Exception e) {e.printStackTrace();throw new BaseException(e.getMessage());}
}

下载文件转流2

    public void downloadPdf(HttpServletResponse httpServletResponse) throws IOException {RequestBody emptyRequestBody = RequestBody.create(null, new byte[0]);OkHttpClient okHttpClient = new OkHttpClient();String fileName = minioPdfConfig.getFileName();String downloadApi = String.format("/ChinatowerFile/download/%s/%s",minioPdfConfig.getBucketName(), fileName);// return chinaTowerConfig.getMinioUrl() + downloadApi;Request request = new Request.Builder().url(chinaTowerConfig.getMinioUrl()+downloadApi).post(emptyRequestBody).build();Response response = okHttpClient.newCall(request).execute();if(200 != response.code()){throw new BaseException("文件下载失败");}InputStream inputStream = response.body().byteStream();// 创建 ByteArrayOutputStream 用于收集所有读取的字节ServletOutputStream outputStream = httpServletResponse.getOutputStream();byte[] buffer = new byte[1024];int bytesRead;// 读取 InputStream 并写入 ByteArrayOutputStreamwhile ((bytesRead = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}}

直接返回url下载

    public String downloadPdf() {String fileName = minioPdfConfig.getFileName();String downloadApi = String.format("/ChinatowerFile/download/%s/%s",minioPdfConfig.getBucketName(), fileName);return chinaTowerConfig.getMinioUrl() + downloadApi;}


http://www.mrgr.cn/news/38894.html

相关文章:

  • Java应用文件上传超出默认大小
  • 【docker】如何保存镜像以及分享社区
  • 从AI+到+AI:传统行业的智能蜕变
  • 海滨体育馆管理:SpringBoot系统设计与实现
  • 稀土阻燃协效剂-磷氮系的应用
  • 双十一买什么东西最划算?2024年双十一好物清单分享
  • 【图解秒杀系列】秒杀技术点——隔离、熔断、限流、降级
  • o1规划能力首测!已超越语言模型范畴,preview终于赢mini一回
  • Vue发送邮件攻略:从搭建到实现详细步骤?
  • 芝法酱学习笔记(0.5)——使用jenkins做自动打包
  • 基于NXP IMX6的PC104板卡
  • 【Redis配置】
  • Python知识点:如何使用Hive与PyHive进行数据仓库操作
  • 二阶低通滤波器Simulink仿真测试(从传递函数到ST代码)
  • py-mmcif包pdbx_struct_assembly对象介绍
  • FLUX.1 AI图像生成行业的新挑战者
  • 写入数据时的Permission Denied错误
  • 简述Bug生命周期与Bug管理
  • 数据结构-单链表
  • 【流计算】流计算概论