Code Snippet

Just another Code Snippet site

[Spring] Controller: Force file download

In a Controller class :

    @ResponseBody
    @RequestMapping(value = "/url", method = RequestMethod.POST)
    public void encryptFile(
            final ModelMap model, 
            final BindingResult result,
            final DefaultMultipartHttpServletRequest request, 
            final HttpServletResponse response) throws Exception {

            response.reset();
            response.setContentType("application/force-download"); // to force download
            response.setHeader("Content-Transfer-Encoding", "binary");
            response.setContentLength(-1); // This will cause the connector to stream the file chunk by chunk.
            // The filename must be set before the content itsefl
            response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFilename + "\"");

            // Copy data into output stream
            IOUtils.copy(new FileInputStream(dataFile), response.getOutputStream());
            outputStream.flush();
            outputStream.close();
    }

, ,


Comments are currently closed.