Where can I find some example source code for transfering arbitrary files to the client browser using JSP?
Created May 7, 2012
André Wolf You should use a servlet instead of a JSP for this task. The following code copies a file from the server's hard disc to the output stream of the servlet (downloading a file).
import java.io.*; import javax.servlet.http.*; import javax.servlet.*; public void DownloadServlet extends HttpServlet { public String doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int length; byte[] buf = new byte[1024]; BufferedInputStream in = new BufferedInputStream(new FileInputStream(file path)); ServletOutputStream out = response.getOutputStream(); response.setContentType(mime type of the file); response.setContentLength(file size); // see http://www.faqs.org/rfcs/rfc1806.html response.addHeader("Content-Disposition", "inline; filename="" + file name + """); // copy data while ((in != null) && ((length = in.read(buf)) != -1)) { out.write(buf, 0, length); } } }The Content-Disposition header allows you to transmit the file name to the browser.