]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/ajaxplorer/file/FileDownloadAction.java
Move to SLC legacy
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / ajaxplorer / file / FileDownloadAction.java
1 /*
2 * Copyright (C) 2007-2012 Mathieu Baudier
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.slc.web.ajaxplorer.file;
17
18 import java.io.File;
19
20 import javax.servlet.http.HttpServletResponse;
21
22 public class FileDownloadAction extends AbstractFileDownloadAction {
23
24 @Override
25 protected void setHeaders(HttpServletResponse response, File file) {
26 setDefaultDownloadHeaders(response, file.getName(), file.length());
27 }
28
29 public static void setDefaultDownloadHeaders(HttpServletResponse response,
30 String fileName, Long fileLength) {
31 response.setContentType("application/force-download; name=\""
32 + fileName + "\"");
33 response.setHeader("Content-Transfer-Encoding", "binary");
34 if (fileLength != null)
35 response.setContentLength(fileLength.intValue());
36 response.setHeader("Content-Disposition", "attachement; filename=\""
37 + fileName + "\"");
38 response.setHeader("Expires", "0");
39 response.setHeader("Cache-Control", "no-cache, must-revalidate");
40 response.setHeader("Pragma", "no-cache");
41 }
42 }