SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载
一、建立一个简单的jsp页面。
我们在建好的jsp的页面中加入一个超链接:<a href="${pageContext.request.contextPath}/download">下载</a>
二、在控制层写入以下代码:
@RequestMapping("/download")
public ResponseEntity<byte[]> String(HttpServletRequest request) throws IOException{
byte[] size=null;
ServletContext servletContext =request.getServletContext();
String filename="nobody.mp3";
String path=servletContext.getRealPath("/WEB-INF/"+filename);
File file=new File(path);
ResponseEntity<byte[]> response=null;
InputStream in=null;
try {
in= new FileInputStream(file);
size= new byte[in.available()];
in.read(size);
HttpHeaders headers= new HttpHeaders();
filename=new String(filename.getBytes("gbk"),"iso8859-1");
headers.add("Content-Disposition", "attachment;filename="+filename);
HttpStatus status=HttpStatus.OK;
response=new ResponseEntity<byte[]> (size,headers,status);
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
in.close();
}
return response;
}
三、在服务器指定的位置加入你需要下载的文件。这里我们在服务器里WEB-INF下导入一首歌。如图:

四、下面运行我们的程序。
然后点击超链接,浏览器就会下载这首歌,然后你就能在你下载的位置找到这首歌并且可以正常的听!
SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载的更多相关文章
- springmvc中文件跨服务器传输的方法
//1.首先在tomcat的新端口上重新开启一个tomcat服务器fileuploadserver服务器,并且在webapps下新建一个uploads文件夹 //2.在业务服务器上书写前端页面和后端的 ...
- SpringMVC中文件上传
在SpringMVC中上传文件是比较方便的.主要分为以下几个步骤: 1)在applicationContext.xml中增加相应类的引用 <bean id="multipartReso ...
- SpringMvc中文件的上传
本文转自:http://www.cnblogs.com/fjsnail/p/3491033.html 三个方法没有都测试,先get再说 第一个方法慢不知道是不是因为写的代码是按字节读取的,没有用Buf ...
- SpringMVC中文件的上传(上传到服务器)和下载问题(一)
一.今天我们所说的是基于SpringMVC的关于文件的上传和下载的问题的解决.(这里所说的上传和下载都是上传到服务器与从服务器上下载文件).这里的文件包括我们常用的各种文件.如:文本文件(.txt), ...
- django中文件(头像)上传
一些常用的小功能,记录下来 先说一种上传功能. 模板表单 <form enctype="multipart/form-data" name="form1" ...
- springMvc中自定义bean转换接收前台传的参数
转载:https://blog.csdn.net/u013476435/article/details/81538099 因前端整体传参时,参数名都不是驼峰写法,类似 music_name,music ...
- linux 中文件权限和磁盘管理、linux服务器项目如何部署
chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k ...
- 一起学SpringMVC之文件上传
概述 在Web系统开发过程中,文件上传是普遍的功能,本文主要以一个简单的小例子,讲解SpringMVC中文件上传的使用方法,仅供学习分享使用,如有不足之处,还请指正. 文件上传依赖包 如下所示,文件上 ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
随机推荐
- JavaScript+canvas 绘制多边形
效果图: <body> <canvas id="square" width="500"></canvas> <canv ...
- java窗口按钮位置设置
java窗口按钮位置设置 代码如下: package Day08; import java.awt.BorderLayout; import javax.swing.JButton;import ja ...
- 【转载】Android 开发 命名规范
原文地址:http://www.cnblogs.com/ycxyyzw/p/4103284.html 标识符命名法标识符命名法最要有四种: 1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外, ...
- 文本三剑客---gawk基础
gawk程序是Unix中原始awk程序的GNU版本.gawk程序让流编辑器迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令.在gawk编程语言中,可以完成下面的事情: (1)定义变量来保存数 ...
- Java虚拟机--垃圾收集
Java虚拟机 1. JVM运行时数据区域 参考书籍:<深入理解Java虚拟机:JVM高级特性与最佳实践,第二版> 资料参考:http://blog.csdn.net/nms312/art ...
- C++引用形参,函数返回多个值
之前编代码有遇到过想让一个函数返回多个值的情况,low low的我不知道有什么办法,直接使用的全局变量将函数里的值传出去. 今天看书,<C++primer>第五版中文版第189页:使用引用 ...
- 有关java调用批处理文件
1 例子 java调用批处理文件 public class RunJarBat { public static void runJarBat() { // 调用控制台 Runtime rt = Run ...
- 用letsencrypt搭建免费的https网站
环境:阿里云服务器centos7.3,nignx,letsencrypt做免费的https证书 Let’s Encrypt官网:https://letsencrypt.org/ 1.服务器开放端口:4 ...
- Hello ReactJS
前言 React学习前先搭好环境,官网的例子看着比较分散.结合webpack就可以体验完整的es6开发流程了. 源码:https://github.com/Ryan-Miao/hello-react- ...
- JavaScript数组方法大全
1.两个数组拼接的方法: Array.concat(obj); var array = [1,2,3]; var array2 = [4,5,6]; var arrtotall = array.con ...