1,ResponseDownload.java Serlvet实现下载代码:
import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ResponseDownload extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //String realpath = this.getServletContext().getRealPath("/2.jpg");//获得下载图片路径 String realpath = this.getServletContext().getRealPath("/图片.jpg");//中文名称文件 String filename = realpath.substring(realpath.lastIndexOf("\\") + 1);//截取路径获得下载文件名 response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename, "UTF-8"));//中文名称文件的下载 //response.setHeader("content-disposition", "attachment;filename="+filename);//response 响应头响应下载请求 FileInputStream in =new FileInputStream(realpath); //将图片文件以流写入
int len=0; byte buffer[]=new byte[1024]; OutputStream out = response.getOutputStream();
while((len=in.read(buffer))>0){ //读取文件模板代码 ,需记住 out.write(buffer, 0, len);
}
in.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
doGet(request, response);
}
}