使用SpringMVC实现文件下载
文件下载是也就是客户端从服务器下载文件,是非常常见的操作,这里我们使用最常见的输入和输出流的方式进行下载,其实下载和上传本质上没有区别,无非就是数据传输的方向变了。
以下是文件的传输:
@RequestMapping("/download")
public String download(HttpServletRequest request, HttpServletResponse response) throws IOException {
String path = request.getServletContext().getRealPath("/upload");
String fileName = "1.jpg";
response.reset();//设置页面不缓存
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");//设置二进制传输数据
//设置响应头
File file = new File(path,fileName);
InputStream is = new FileInputStream(file);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while((len = is.read(buffer)) != -1){
os.write(buffer,0,len);
os.flush();
}
os.close();
is.close();
return "ok";
}
以上实现了图片文件从服务器端到客户端的下载。