package br.com.centralit.citcorpore.metainfo.servlet; import java.io.File; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.citframework.util.UtilTratamentoArquivos; public class ServletGetFile extends HttpServlet { private static final long serialVersionUID = -1620622864811251759L; @Override protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { this.processRequest(request, response); } @Override protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { this.processRequest(request, response); } /** * Processa as requisicoes. * * @param request * @param response * @throws ServletException * @throws IOException */ protected void processRequest(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { final String file = request.getParameter("file"); if (file == null || file.trim().equalsIgnoreCase("")) { return; } String fileName = request.getParameter("fileName"); if (fileName == null || fileName.trim().equalsIgnoreCase("")) { fileName = "export.txt"; } String fileType = request.getParameter("type"); if (fileType == null || fileType.trim().equalsIgnoreCase("")) { fileType = "txt"; } try { final byte[] bytes = UtilTratamentoArquivos.getBytesFromFile(new File(file)); final ServletOutputStream outputStream = response.getOutputStream(); if (fileType.equalsIgnoreCase("txt")) { response.setContentType("text/plain"); } response.setHeader("Content-Disposition", "attachment; filename=" + fileName); response.setContentLength(bytes.length); outputStream.write(bytes); outputStream.flush(); outputStream.close(); } catch (final Exception e) { e.printStackTrace(); } } }