/* Download.java * * a. send binary file * b. specify file name */ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Download extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { String fid = request.getParameter("fid"); if( fid == null || Integer.parseInt(fid) != 1 ) { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println( "Download" ); out.println( "we need a file id" ); out.println( "" ); } else { ServletOutputStream out = response.getOutputStream(); response.setContentType("application/x-compressed"); response.setHeader( "Content-Disposition", "attachment; filename=shake.tgz" ); FileInputStream in = new FileInputStream("/tmp/tragedy.tgz"); byte[] buf = new byte[2048]; int bytesRead; while( (bytesRead = in.read(buf)) != -1 ) out.write( buf, 0, bytesRead ); in.close(); } } public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { doGet( request, response ); } }