JAVA中的通用文件下载接口
本文记录下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中的通用文件下载接口相关推荐
- 理解java中的两种接口
在java 中我们常常提高接口一词.在java 中有两中接口. 第一种接口:就是指系统对外提供的所有服务,在对象中表现为public类型的方法的声明.也就是我们常常在一个类中写的public的方法了. ...
- 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
文章目录 一.Java 中函数参数是接口类型 二.函数参数是接口类型 可以 直接传递闭包 三.完整代码示例 一.Java 中函数参数是接口类型 在 Android 中经常使用如下形式的接口 : 定义一 ...
- 深入理解Java中的抽象类和接口
对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...
- java 中的2个接口 Comparable和Comparator
像Integer.String这些类型的数据都是已经实现Comparable接口的,所以对这些类型可以直接通过Arrays.sort(...)和Collections.sort(...)方法进行排序. ...
- Java中Comparable和Comparator接口区别分析
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- Java 中的抽象类和接口
Java 中的抽象类和接口 1.参考资料 深入理解Java的接口和抽象类 Java抽象类与接口的区别 2.前言 有一次旁听面试的时候,听到面试官问了一句:既然 JDK8 中接口有了默认方法实现,那接口 ...
- java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...
做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口 public void eat(Food food); // ...
- JAVA中的抽象类与接口
JAVA中的抽象类与接口 接口和抽象类的区别: 接口和抽象类是支持抽象类定义的两种机制. 接口是公开的,不能有私有的方法或变量,接口中的所有方法都没有方法体,通过关键字interface实现. 抽象类 ...
最新文章
- 6000毫安以上智能手机_6000大电池+骁龙8核处理器,Redmi新机来袭:价格太美
- python常用内置模块-python常用的内置模块
- mysql组件化_组件化开发和模块化开发概念辨析
- 少的力量,强大到你难以想象
- C#面向对象的三大特性
- 【2015年第4期】大数据时代的数据挖掘 —— 从应用的角度看大数据挖掘(上)...
- 实用的网站***步骤
- devops最佳实践_DevOps最佳实践如何改善团队动力
- 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
- matlab中diamond,my-DIAMOND 经典的莫泰识别分析软件 ,在matlab平台下 238万源代码下载- www.pudn.com...
- 多元线性回归—异方差
- 利用CHARMM-GUI来建立膜双层结构的具体步骤
- 2023年重庆邮电大学计算机科学与技术(802)初试经验贴
- MFC封装的base64编码解码函数
- 开发者能力大赏,谁是技术知识达人?
- 四心圆法画椭圆原理_四心圆法画椭圆的解析画法
- 【Java】Exception in thread main java.lang.UnsupportedClassVersionError
- Unable to process Jar entry [org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration
- 基于Vue的省市区三联的地区选择器V-Distpicker的使用及踏过的坑...
- linux 第十五天 linuxprobe