yyy
yyy

Reputation: 425

Make a link to download local file

In my project (Java SpringMVC3) I get an XLS file via HttpClient and I want that file to be downloaded like it's a real download. A popup window showing download dialog. How can I do that?

Upvotes: 0

Views: 4703

Answers (2)

M. Hryszczyk
M. Hryszczyk

Reputation: 1204

Controller should copy the content of file to response object. Do not forget - controller function must return NULL. Below I show a working example from my application:

String filename = /* path to a file */

File file = new File(filename);

response.setContentType(new MimetypesFileTypeMap().getContentType(file));
response.setContentLength((int)file.length());
response.setHeader("content-disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8"));

InputStream is = new FileInputStream(file);
FileCopyUtils.copy(is, response.getOutputStream());

return null;

Upvotes: 2

Momo
Momo

Reputation: 2491

Basically you need to implement a Controller that takes care of the download and specify the response's header-mime type. then you invoke that Controller from the view.

Here is a short example how to specify a header-mime type

HTTP Header Mime Type in Websphere Application Server 7

Upvotes: 1

Related Questions