controller代码
package com.mvc.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class FileDownloadController {
@GetMapping("fileDownload.do")
public void uploadFile(HttpServletRequest request,HttpServletResponse response,String fileName) throws IOException {
String realpath = request.getServletContext().getRealPath("/");
File file = new File(realpath,fileName);
response.addHeader("Content-Disposition", "attachment;fileName="+fileName);
FileInputStream fis = new FileInputStream(file);
OutputStream fos = response.getOutputStream();
byte[] b = new byte[fis.available()];
fis.read(b);
fos.write(b);
fos.close();
fis.close();
}
}
jsp页面实现下载
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
file download
<input type="text" id="fileName">
<a id="download">图片下载</a>
<script src="js/jquery.min.js"></script>
<script >
$(function(){
$("#download").click(function(){
location.href="fileDownload.do?fileName="+$("#fileName").val();
})
})
</script>
</body>
</html>