从java中安装webolgc_Javaweb| 文件下载
后台:Conteoller
/**
* 下载文件
* @param fileurl
* @param session
* @param response
* @throws IOException
*/
@RequestMapping("/download")
public void getFile(String fileurl, HttpSession session, HttpServletResponse response)
throws IOException {
String basePath = session.getServletContext().getRealPath("/");// 获取基本路径
if (null!=fileurl && !fileurl.equals("")) {
/* 第一步:根据文件路径获取文件 */
File file = new File(basePath + "\\images\\" +fileurl);
if (file.exists()) { // 文件存在
/* 第二步:根据已存在的文件,创建文件输入流 */
InputStream inputStream = new BufferedInputStream(new FileInputStream(file));
/* 第三步:创建缓冲区,大小为流的最大字符数 */
byte[] buffer = new byte[inputStream.available()]; // int available() 返回值为流中尚未读取的字节的数量
/* 第四步:从文件输入流读字节流到缓冲区 */
inputStream.read(buffer);
/* 第五步: 关闭输入流 */
inputStream.close();
String fileName = file.getName();// 获取文件名
response.reset();
response.addHeader("Content-Disposition",
"attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso8859-1"));
response.addHeader("Content-Length", "" + file.length());
/* 第六步:创建文件输出流 */
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
/* 第七步:把缓冲区的内容写入文件输出流 */
outputStream.write(buffer);
/* 第八步:刷空输出流,并输出所有被缓存的字节 */
outputStream.flush();
/* 第九步:关闭输出流 */
outputStream.close();
}else{
return;
}
}
}
使用文件流的方式将文件下载到本地。
从java中安装webolgc_Javaweb| 文件下载相关推荐
- JAVA中的通用文件下载接口
本文记录下JAVA中的通用文件下载接口,每次都上网找,挺麻烦的. 文章目录 概述 概述 /*** 通用下载请求** @param filePathName 文件路径*/@GetMapping(&quo ...
- java se13安装教程_在Linux发行版中安装Java 13/OpenJDK 13的方法
本文介绍在Linux发行版Ubuntu 18.04/16.04.Debian 10/9.CentOS 7/8.Fedora 31/30/29中安装Java 13/OpenJDK 13.Java SE ...
- 关于使用JAVA中JDK安装和在命令行中编译和运行程序的一些总结
JDK安装:http://www.oracle.com/technetwork/java(可以选择安装路径) (在写下载这个JDK时需要先创建账户) 1.下载完之后就可以安装了,安装路径自己可以设置, ...
- linux系统中安装java
linux系统中安装java 文章目录 linux系统中安装java 视频 检查是否安装jdk 下载jdk的tar.gz版本 创建jdk文件夹 上传到服务器 解压到 /usr/local/java/ ...
- java安装_快速提示:Java中的ISO 8601持续时间
java安装 许多开发人员都知道ISO 8601定义的日期和时间的交换格式. (例如2007-08-31T16:47 +00:00代表2007年8月31日UTC的16:47 ) 但是,并不是很知名(至 ...
- 在 Linux 操作系统中安装 Java
在 Linux 操作系统中安装 Java 笔者的运行环境: CentOS Stream 8 x86_64 Java 11.0.12 进行这个教程之前,必须要先安装好一个 Linux 操作系统.这个 L ...
- 如何在Java中使用Lombok删除样板安装程序获取器
你好朋友, 一次又一次反对Java的观点之一是,我们必须写很多样板 我们简单的POJO类的setter和getter形式的代码,不必要地增加了 我们代码的长度. 为了解决这个问题,有一个名为Proje ...
- 怎么样配置java的jdk_如何安装java中的JDK以及配置
java作为现在最热门的语言,基本每个编程人员都会使用Java进行开发,也就是说每个编程人员的电脑上都有java存在.java怎么安装就不说了,但是相信java JDk是在安装Java时候觉得最麻烦的 ...
- linux中jdk添加字体_在Linux上为Openjdk Java定义/安装字体的位置
在Ubuntu上安装了Oracle 8 jdk,在jre/lib中它具有各种fontProperties文件和一个包含字体的字体目录.但是,当安装OpenJdk 8时,jre/lib中的字体文件上没有 ...
最新文章
- c索引超出了数组界限_Lua数组、Lua迭代器
- 浅析JQuery中的html(),text(),val()区别
- 【闲聊产品】之七:投票真的有用么?
- .NET 泛型,详细介绍
- uva 1630——Folding
- 非递归实现二叉树(前序,中序,后序)c/c++实现
- 高德地图定位精度多少米_中美俄卫星定位精度分别是多少?美0.1米,俄10米,中国呢?...
- 让Android Studio支持系统签名(证书)
- 学校校车运营各项安全管理制度_学校校车接送安全管理制度(通用3篇)
- 轻知 | 为什么全球只有13组根域名服务器?
- python保存模型与参数_Pytorch - 模型和参数的保存与恢复
- eclipse maven项目导入Intellij问题处理
- HTMl5 的新特性
- 嵌入式从入门到精通的学习攻略
- qqkey获取原理_qqkey获取器下载
- pod中mysql配置文件修改_Pod中的secret,configmap,downwardapi的使用记录
- 【硬件工程师炼成之路】器件篇 铝电解电容 电感 磁珠
- 1微秒等于多少皮秒_皮秒(ps)是一个时间单位。它是这样换算的↓1秒s_圈子-新氧美容整形...
- HEU The message
- Android 异常 “Binary XML file line # : Error inflating class”
热门文章
- python 排列组合速度_Python实现的简单排列组合算法示例
- maya崩溃自动保存路径_xgen 分享在maya里制作头发失败经验
- 免费旅游项目html,HTML+CSS+JavaScript项目2 “说旅游”专题页制作_0518_连蕊.pptx
- OpenShift 4 Hands-on Lab (12) 通过 KubeFed 配置 OpenShift 联邦集群
- OpenShift 4 之通过直接访问内部的 Image Registry 操作容器镜像
- 你可能不知道的10个Blazor功能
- Entity Framework Core 3.1 和 Entity Framework 6.4 发布
- MsSql.RestApi - 构建ASP.NET REST API的最简单方法
- 浏览器linux安装失败,LINUX 上安装WAS 提示没有浏览器问题
- python 两点曲线_python机器学习分类模型评估