首页 > 编程语言 >Java-读取resource目录下的文件并返回给前端

Java-读取resource目录下的文件并返回给前端

时间:2024-05-09 11:24:21浏览次数:21  
标签:outputStream Java 读取 buffer len fileName resource response

我在项目的resource目录下面放了一个模板文件,用来供用户下载
提供一个接口给前端,用来下载
在Utils类下面写个方法来读取

代码

public static void getXMindTemplate(HttpServletResponse response){
String fileName = "templates/TestCaseTemplate.xmind";  // 文件名称
ClassPathResource classPathResource = new ClassPathResource(fileName);
try {
   InputStream inputStream = classPathResource.getInputStream();

   response.setContentType("application/octet-stream;charset=utf-8");
   response.addHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(FileUtil.getName(fileName), "UTF-8"));
   int len = 0;
   byte[] buffer = new byte[1024];
   OutputStream outputStream = response.getOutputStream();
   while((len=inputStream.read(buffer))>0) {
       outputStream.write(buffer, 0, len);
   }
   inputStream.close();
   outputStream.flush();
   outputStream.close();
} catch (Exception e){
   log.error("下载XMind格式的测试用例模版失败:{}",e.getMessage());
}
}

标签:outputStream,Java,读取,buffer,len,fileName,resource,response
From: https://www.cnblogs.com/Jason-01011010/p/18181720

相关文章

  • Java-LocalDateTime时间和时间(时间加减)
    前言一开始使用Date类来表述时间属性一个问题是时间戳的问题,另一个问题是读取Excel数据格式的时候没有那么灵活 1.基本知识LocalDateTime是Java8引入的日期和时间API中的一个类,位于java.time包中。它提供了一种更灵活、更方便的方式来处理日期和时间,相比旧的Date类更为......
  • java 多线程CountDownLatch
     CountDownLatch简介CountDownLatch 是Java中的一个同步工具类,可以用来确保一组线程等待其他线程完成各自工作后再继续执行。CountDownLatch的应用场景CountDownLatch可以被广泛应用于各种多线程协作的场景,例如:主线程等待多个子线程完成后再执行下一步操作。多个子任......
  • 美团二面:SpringBoot读取配置优先级顺序是什么?
    引言SpringBoot作为一种轻量级的Java应用程序框架,以其开箱即用、快速搭建新项目的特性赢得了广大开发者的青睐。其核心理念之一就是简化配置过程,使开发者能够快速响应复杂多变的生产环境需求。为了实现这一点,SpringBoot支持丰富的外部化配置机制,允许应用程序根据不同的部署环境......
  • Java学设计模式之工厂模式
    一、工厂模式概念工厂模式是一种创建型设计模式,用于创建对象而不需要暴露对象的创建逻辑。它将对象的实例化过程封装在一个单独的类中,使得客户端代码只需通过调用工厂类的方法来获取所需的对象,而无需关心具体的实例化过程。工厂模式通常有三种主要的变体:简单工厂模式、工厂方法......
  • 关于Java Chassis 3的契约优先(API First)开发
    本文分享自华为云社区《JavaChassis3技术解密:契约优先(APIFirst)开发》,作者:liubao68。契约优先(APIFirst)开发是指应用程序开发过程中,将API设计作为第一优先级的任务。契约优先开发随着WebServices概念的发展而不断得到重视,特别是微服务架构出现以后,API设计成为影响功能开放、......
  • 如果你还不了解 Java Class 文件结构,来看看这篇吧
    文章首发于【Java天堂】,跟随我探索Java进阶之路!Class文件是什么JavaClass文件是Java编译器将源代码编译后的二进制表示,它是Java虚拟机(JVM)运行的基础。Class文件绝大部分内容是在1997年发布的第一版《Java虚拟机规范》中就已经定义好的,后续20多年的发展过程当中Java经历了大......
  • python+opencv读取/保存图片
    读取图片导入opencv的包通过imread函数读取图片namedWindow创建一个窗口用于显示imshow将图片显示出来importcv2ascvsrc=cv.imread("D:\\myCode\\picture\\003.jpg")#参数为图片的路径#第一个参数会设置为窗口的标题同时他也会作为和下面imshow进行匹配,以确定将显......
  • Windows程序读取不了中文路径问题
    问题描述今天调试发现win32接口GetFileAttributesW居然不支持中文路径,于是寻找解决方案,找了半天,尝试用boost的fileystem库发现能用,而且boost能跨平台!不支持中文win32接口获取文件属性,当传入参数带有中文字符时,它获取的属性就会异常DWORDGetFileAttributesW([in]LPCWSTRlpFi......
  • 编程:java 发送email程序:通用版本:借鉴“蚂蚁小哥 <[email protected]>”的文章
     1packagecom.alibaba.otter.canal.adapter.launcher.loader;23importjava.text.SimpleDateFormat;4importjava.util.*;5importjavax.mail.*;6importjavax.mail.internet.*;78publicclassJavaxJavaMailClient{910private......
  • https://github.com/long36708/long36708/blob/main/resources/img/grid-snake.svg 请
    对于这个文件,你可以将它放在你的GitHub仓库的"resources"目录下,通常也可以选择"assets"、"images"或者其他类似的名称。如果你还没有这样的目录,你可以按照以下步骤操作:在你的GitHub仓库中创建一个新的目录,可以命名为"resources"、"assets"、"images"或者其他你喜欢......