springMVC 如何从服务器下载文件
1、为了更快的展示效果,我们springboot更快的搭建项目。springboot默认集成springmvc。
参考:
1、使用eclipse创建springboot项目
2、使用IDEA创建springboot项目
2、下载之前我们先了解一下上传如何处理
1、springboot实现图片上传
2、java后台接受到图片后怎么保存
3、下载可以直接参考:
1、java网页下载功能怎么获取文件名
2、java如何从服务器指定路径下载文件到本地(这种方式在所有的web下都能实现)
4、通用下载代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String filename = "愤怒的小鸟.jpg";
//设置文件MIME类型
response.setContentType(getServletContext().getMimeType(filename));
//设置Content-Disposition
response.setHeader("Content-Disposition", "attachment;filename="+new String( filename.getBytes("gb2312"), "ISO8859-1" ));
//获取要下载的文件绝对路径,我的文件都放到WebRoot/download目录下
ServletContext context=this.getServletContext();
String fullFileName=context.getRealPath("2016050457073129.jpg");
//输入流为项目文件,输出流指向浏览器
InputStream is=new FileInputStream(fullFileName);
ServletOutputStream os =response.getOutputStream();
/*
* 设置缓冲区
* is.read(b)当文件读完时返回-1
*/
int len=-1;
byte[] b=new byte[1024];
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
//关闭流
is.close();
os.close();
}
