java获取默认下载路径吗_java下载文件到浏览器默认路径
java下载文件到浏览器默认路径
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog..net/mengmeng2222222
一、controller层代码:
@RequestMapping("/downExcel")
@ResponseBody
public Object downExcel(){
try {
File file=ResourceUtils.getFile("classpath:doc"); //获取resources下面的doc下面的文件
File[] files=file.listFiles();
return FileUtil.downloadFile(files[0]); //files[0]是要下载到默认浏览器路径的文件
} catch (Exception e) {
return MarkUtil.markRetunMsg(false,"下载失败");
}
}
注释:运用spring中的ResourceUtils.getFile读取jar包内文件,也就是获取的是下图中的文件
二、FileUtil类中的downloadFile方法如下:
/**
* 文件下载
* @param file
* @throws IOException
*/
public static ResponseEntity downloadFile(File file) throws IOException {
if (file.exists()) {
FileSystemResource fileSource = new FileSystemResource(file);
return downloadFile(fileSource.getInputStream(),fileSource.getFilename());
}
return null;
}
public static ResponseEntity downloadFile(InputStream in,String fileName) {
try {
byte[] testBytes = new byte[in.available()];
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Content-Disposition", String.format("attachment; filename=\"%s\"", MarkUtil.convertFileName(fileName)));
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
return ResponseEntity
.ok()
.headers(headers)
.contentLength(testBytes.length)
.contentType(MediaType.parseMediaType("application/octet-stream"))
.body(new InputStreamResource(in));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
三、MarkUtil类中的convertFileName方法如下:
/**
* chinese code convert
* @param fileName
* @return
*/
public static String convertFileName(String fileName) {
if(isContainChinese(fileName)) {
try {
fileName = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return fileName;
}
亲测有效!!!!!如果对你有帮助了,一定要点个赞哇,整理不易。
可以转载,但是务必加上来源,谢谢!
java获取默认下载路径吗_java下载文件到浏览器默认路径相关推荐
- java 获取每月每一天_java 求取某一段时间内的每一天、每一月、每一年
1.求取某一段时间内的每一天 Date date0 = new SimpleDateFormat("yyyy-MM-dd").parse("2014-01-01" ...
- java读取xml路径问题_java 中读取xml 和绝对路径
一.得到绝对路径 本人用到的不多,就列举常用的. 以上2种可读取固定配置文件可用得到绝对路径 1.System.getProperty("user.dir"); 这个东西局限性十分 ...
- java 获取当前第几周_java获取第几周
java获取第几周 1.首先创建一个getWeek函数,接收一个Date类型的参数: 2.然后在函数内创建一个GregorianCalendar实例: 3.之后设置GregorianCalendar实 ...
- java 获取三天前时间_java 获取前几天时间
标签: java 获取前几天时间 一.toLocaleString()函数过时: //当前时间 Date endDate=new Date(); String endTime=endDate.to ...
- java获取0点的时间戳_Java获取凌晨时间戳的方法分析
本文实例讲述了java获取凌晨时间戳的方法.分享给大家供大家参考,具体如下: 这两天有一个需求是查询用户匹配的推荐信息,包含一个有效时间段,以天为单位,0时0分0秒这种. 通常java中有两种方案: ...
- java获取系统当前时间格式化_java 获取系统当前时间并格式化
java 获取系统当前时间并格式化 CreateTime--2018年5月9日11:41:00 Author:Marydon 实现方式有三种 updateTime--2018年7月23日09点32分 ...
- java 判断是否为cst格式_Java判断文件编码格式
1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK. 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理 ...
- JAVA随机读写功能实现类_Java 实现文件随机读写-RandomAccessFile
RandomAccessFile是Java中输入,输出流体系中功能最丰富的文件内容访问类,它提供很多方法来操作文件,包括读写支持,与普通的IO流相比,它最大的特别之处就是支持任意访问的方式,程序可以直 ...
- java获取C盘下的隐藏目录文件名称
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 网易云课堂 Flutter开发中的点滴积累 在Java中, File类用来将文件或者文件夹封装成对象,方便 ...
最新文章
- golang 得到 结构体 struct 标签 tag 内容 结构体中的``数据
- httpcline转发_如何实现Http请求报头的自动转发[应用篇]
- linux socket 编程(C语言)
- Charles 映射本地文件map local
- Linux 内核里的数据结构——基数树
- django中自定义了manager函数,使用的时候报错AttributeError: 'Manager' object has no attribute 'title_count'...
- 加密狗 破解 复制 模拟 软件
- 金融计量学第一次实验:eviews做多元线性回归分析
- html流特性,CSS深入理解流体特性和BFC特性下多栏自适应布局_html/css_WEB-ITnose
- 关于VLAN Tag,PVID的问题
- ora-01045 :user system lacks create session privilege; logon denied
- PS CC 2018 切片复制问题解决方法
- 一图掌握项目管理的20条锦囊妙计
- java毕业设计颜如玉图书销售网站的设计与实现Mybatis+系统+数据库+调试部署
- Java 2023发展趋势
- EMA—项目 需求设计文档
- 淘宝评论接口可以获取PC端,app端
- C++如何输出彩色字体
- ofo创始人戴威称共享单车日收入接近1000万
- 微信小程序-QQ音乐