@WebServlet(urlPatterns = "/download")
public class DownloadFileServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
//设置响应头为下载类型 并设置下载的文件名
resp.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("哆啦A梦图片", "utf-8")+".jpg");
//读取文件
InputStream is = getServletContext().getResourceAsStream("/WEB-INF/classes/timg.jpg");
//将文件加载到输出流
byte[] buffer = new byte[1024];
int len = 0;
ServletOutputStream outputStream = resp.getOutputStream();
while((len=is.read(buffer))!=0){
outputStream.write(buffer,0,len);
}
outputStream.close();
is.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}