X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui.rap%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fspecific%2FOpenFileService.java;h=2818fc7ea131377d8fa084048d024e93c9c55d13;hb=598bcf4d1f14ccf0decb98cbb4a100b22fdf0ef3;hp=926c8aaaccc72bfc369150925abe0fd812024e74;hpb=a0a29f58e12262d6354d2a69e91d63d4a2e7a822;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/OpenFileService.java b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/OpenFileService.java index 926c8aaac..2818fc7ea 100644 --- a/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/OpenFileService.java +++ b/org.argeo.eclipse.ui.rap/src/org/argeo/eclipse/ui/specific/OpenFileService.java @@ -23,7 +23,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; -import org.argeo.ArgeoException; import org.eclipse.rap.rwt.service.ServiceHandler; /** @@ -49,10 +48,10 @@ public class OpenFileService implements ServiceHandler { String uri = request.getParameter(PARAM_FILE_URI); // Set the Metadata - response.setContentType("application/octet-stream"); response.setContentLength((int) getFileLength(uri)); if (fileName == null || "".equals(fileName.trim())) fileName = getFileName(uri); + response.setContentType(getMimeTypeFromName(fileName)); String contentDisposition = "attachment; filename=\"" + fileName + "\""; response.setHeader("Content-Disposition", contentDisposition); @@ -80,8 +79,8 @@ public class OpenFileService implements ServiceHandler { return FileUtils.readFileToByteArray(new File( getFilePathFromUri(uri))); } catch (IOException ioe) { - throw new ArgeoException("Error getting the file at " + uri, - ioe); + throw new SingleSourcingException("Error getting the file at " + + uri, ioe); } } return null; @@ -104,4 +103,9 @@ public class OpenFileService implements ServiceHandler { private String getFilePathFromUri(String uri) { return uri.substring((FILE_SCHEME + SCHEME_HOST_SEPARATOR).length()); } + + /** Overwrite to precise the content type */ + protected String getMimeTypeFromName(String fileName) { + return "application/octet-stream"; + } } \ No newline at end of file