240 发简信
IP属地:北京
  • /**
    * @param file 要删除的文件
    * @param deleteFile 是否删除源文件
    * @return
    * @throws BaseException
    */
    protected ResponseEntity<byte[]> response(File file, boolean deleteFile) throws Exception {
    return response(file, deleteFile, null);
    }

    /**
    * @param file 需要下载的文件
    * @param deleteFile 下载完毕是否要删除
    * @param fileName 下载文件的文件命名
    * @return 文件流
    * @throws Exception 下载文件时的异常说明
    */
    protected ResponseEntity<byte[]> response(File file, boolean deleteFile, String fileName) throws Exception {
    if (StringUtils.isEmpty(fileName)) {
    fileName = file.getName();
    }
    HttpHeaders headers = new HttpHeaders();
    headers.setContentDispositionFormData("attachment", URLEncoder.encode(fileName, "UTF-8"));
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    try {
    return new ResponseEntity<>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);
    } catch (IOException e) {
    logger.error(String.format("生成下载文件%s失败", fileName), e);
    throw new BaseException(400, "文件已经找不到咯. 试试别的文件吧!");
    } finally {
    if (deleteFile) {
    FileUtils.deleteQuietly(file);
    }
    }
    }

    这是不是更好点

    Java实现文件下载功能

    Java文件下载的几种方式 支持在线打开文件的一种方式 网络url下载,并写入浏览器 参考:https://www.cnblogs.com/ungshow/archive/2...

  • 说来说去 还是jpa好用

    MyBatis-Plus为啥这么牛?

    大家有用过MyBatis-Plus(简称MP)的都知道它是一个MyBatis的增强工具,旨在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。 特点 无侵入:...

  • 120
    Spring 注解驱动开发

    放假期间,看一些Spring相关的注解,加深一下印象, 鸣谢:尚硅谷视频,此总结来源于视频内容 1. Spring 组件注册 1.1 Spring 组件注册注册时过滤条件 2...

  • YAML中多行字符串的配置方法

    有时候我们会在配置文件中配置一段文字说明,这种时候通常会出现两种需求: 文字中可能出现段落,希望在配置中按段落方式编写,显示打印的时候也能出现段落换行。 文字很长,为方便编辑...

  • @45_5486 谢了.

    Java8 教程第四章之Streams map

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • 麻豆,写了service,还把业务逻辑写到controller里面!看到这样的代码就🤮

    MySql和ElasticSearch搜索谁更快?

    前几天学习了我ElasticSearch和SpringBoot整合的相关应用,这个项目我也是参考慕课网上视频学习的,大家如果有兴趣的话,也可以去看一下。链接我放这了。Spri...

  • Java 反射教程

    Java 反射机制教程 Java 反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息。反射还可以让我们在运行...

  • Java8 教程第二十章之数组转列表

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十九章之String convert Char Array

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • 120
    Java 7 Fork/Join 框架使用

    最近有个业务是批量导出cognos报表, 由于未开发此功能, 人工导出需要大量的时间消耗, 奔着珍惜时间的使命写了一个导出工具类, 至此在导出的过程中用到了并发请求数, 比...

  • Java8 教程第十八章之操作Array

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十七章之读写文件

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十六章之StringJoiner 用法

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十五章之Optional 用法

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十四章之Stream Map to List

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十三章之Stream FlatMap

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十二章之Stream Map过滤

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

  • Java8 教程第十一章之Stream List转Map

    本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。 本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶...

个人介绍
爱里没有惧怕。爱既完全,就把惧怕除去。(约翰一书4:18)