package com.example.demo.Controller;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Response;
import java.io.*;
@RestController
public class FileDownloadController {
@RequestMapping("download")
public ResponseEntity<byte[]> download(HttpServletRequest request, HttpServletResponse response,String filename)throws Exception{
String path = request.getServletContext().getRealPath("upload");
System.out.println(path);
File file = new File(path + File.separator + filename);
System.out.println(file);
if(file.exists()){
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition","attachment:filename="+ java.net.URLEncoder.encode(filename,"utf-8"));
byte[] buffer = new byte[1024];
FileInputStream fis = null; //输入流
OutputStream os=null; //输出流
BufferedInputStream bis = null; //缓冲流
try {
os=response.getOutputStream();
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
int i = bis.read(buffer);
while (i != -1){
os.write(buffer);
i = bis.read(buffer);
}
}catch (Exception e){
e.printStackTrace();
}
try {
bis.close();
fis.close();
}catch (IOException e){
e.printStackTrace();
}
}
return null;
}
}
文件下载
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在项目里遇到附件的下载和本地查看功能,附件有可能是word pdf 图片 Excel表格 甚至是ppt 有点变态吧...
- iOS开发中经常会用到文件的下载与上传功能,今天咱们来分享一下文件下载的思路。文件上传下篇再说。 文件下载分为:小...
- iOS开发中经常会用到文件的下载与上传功能,今天咱们来分享一下文件下载的思路。文件上传下篇再说。 文件下载分为小文...