本文记录下JAVA中的通用文件下载接口,每次都上网找,挺麻烦的。

文章目录

  • 概述

概述

    /*** 通用下载请求** @param filePathName 文件路径*/@GetMapping("common/download")@ApiOperation(value = "下载接口,传入文件全路径")public void fileDownload(String filePathName, HttpServletResponse response) {try {String fileName = filePathName.substring(filePathName.lastIndexOf("/") + 1);if (!FileUtils.checkAllowDownload(fileName)) {throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));}response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);FileUtils.setAttachmentResponseHeader(response, fileName);FileUtils.writeBytes(filePathName, response.getOutputStream());} catch (Exception e) {log.error("下载文件失败", e);}}


JAVA中的通用文件下载接口相关推荐

  1. 理解java中的两种接口

    在java 中我们常常提高接口一词.在java 中有两中接口. 第一种接口:就是指系统对外提供的所有服务,在对象中表现为public类型的方法的声明.也就是我们常常在一个类中写的public的方法了. ...

  2. 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )

    文章目录 一.Java 中函数参数是接口类型 二.函数参数是接口类型 可以 直接传递闭包 三.完整代码示例 一.Java 中函数参数是接口类型 在 Android 中经常使用如下形式的接口 : 定义一 ...

  3. 深入理解Java中的抽象类和接口

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...

  4. java 中的2个接口 Comparable和Comparator

    像Integer.String这些类型的数据都是已经实现Comparable接口的,所以对这些类型可以直接通过Arrays.sort(...)和Collections.sort(...)方法进行排序. ...

  5. Java中Comparable和Comparator接口区别分析

    本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...

  6. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

  7. Java 中的抽象类和接口

    Java 中的抽象类和接口 1.参考资料 深入理解Java的接口和抽象类 Java抽象类与接口的区别 2.前言 有一次旁听面试的时候,听到面试官问了一句:既然 JDK8 中接口有了默认方法实现,那接口 ...

  8. java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...

    做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口    public void eat(Food food); // ...

  9. JAVA中的抽象类与接口

    JAVA中的抽象类与接口 接口和抽象类的区别: 接口和抽象类是支持抽象类定义的两种机制. 接口是公开的,不能有私有的方法或变量,接口中的所有方法都没有方法体,通过关键字interface实现. 抽象类 ...

最新文章

  1. 6000毫安以上智能手机_6000大电池+骁龙8核处理器,Redmi新机来袭:价格太美
  2. python常用内置模块-python常用的内置模块
  3. mysql组件化_组件化开发和模块化开发概念辨析
  4. 少的力量,强大到你难以想象
  5. C#面向对象的三大特性
  6. 【2015年第4期】大数据时代的数据挖掘 —— 从应用的角度看大数据挖掘(上)...
  7. 实用的网站***步骤
  8. devops最佳实践_DevOps最佳实践如何改善团队动力
  9. 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
  10. matlab中diamond,my-DIAMOND 经典的莫泰识别分析软件 ,在matlab平台下 238万源代码下载- www.pudn.com...
  11. 多元线性回归—异方差
  12. 利用CHARMM-GUI来建立膜双层结构的具体步骤
  13. 2023年重庆邮电大学计算机科学与技术(802)初试经验贴
  14. MFC封装的base64编码解码函数
  15. 开发者能力大赏,谁是技术知识达人?
  16. 四心圆法画椭圆原理_四心圆法画椭圆的解析画法
  17. 【Java】Exception in thread main java.lang.UnsupportedClassVersionError
  18. Unable to process Jar entry [org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration
  19. 基于Vue的省市区三联的地区选择器V-Distpicker的使用及踏过的坑...
  20. linux 第十五天 linuxprobe

热门文章

  1. JDBC技术总结(一)
  2. android数据保存
  3. C#开发微信门户及应用(27)-公众号模板消息管理
  4. mysql5.5分别把这两个数据库同步到不同的从服务器
  5. menu---A.2-基本算法实例
  6. 在 C++Builder 工程里调用 DLL 函数
  7. A3D8的水–WaterMaterial for Alternativa3D 8
  8. 视频:如何把应用通过vmc部署到cloud foundry上
  9. HTML参考系列(5)-表格标签
  10. LeetCode 404. 左叶子之和