Browse Source

Added missing MIME types to FileTypeResolver (#12070)

Fixes #11235
tags/8.12.0.alpha2
Anna Koskinen 3 years ago
parent
commit
7406f478b9
No account linked to committer's email address
1 changed files with 40 additions and 14 deletions
  1. 40
    14
      server/src/main/java/com/vaadin/util/FileTypeResolver.java

+ 40
- 14
server/src/main/java/com/vaadin/util/FileTypeResolver.java View File

@@ -17,7 +17,6 @@
package com.vaadin.util;

import java.io.File;
import java.io.Serializable;
import java.util.Collections;
import java.util.Locale;
import java.util.Map;
@@ -37,7 +36,6 @@ import com.vaadin.server.ThemeResource;
* @author Vaadin Ltd.
* @since 3.0
*/
@SuppressWarnings("serial")
public class FileTypeResolver {

/**
@@ -52,9 +50,40 @@ public class FileTypeResolver {
public static String DEFAULT_MIME_TYPE = "application/octet-stream";

/**
* Initial file extension to mime-type mapping.
* Initial MIME-type to file extension mapping where the MIME type starts
* with {@code application/vnd}. Separate from the main mapping in order to
* limit the amount of long lines for the sake of readability.
*/
private static final String INITIAL_EXT_TO_MIME_MAP = "application/cu-seeme csm cu,"
private static final String INITIAL_APPLICATION_VND_MIME_TO_EXT_MAPPING = ""
+ "application/vnd.ms-access mdb,"
+ "application/vnd.ms-excel xls xlb,"
+ "application/vnd.ms-excel.addin.macroEnabled.12 xlam,"
+ "application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb,"
+ "application/vnd.ms-excel.sheet.macroEnabled.12 xlsm,"
+ "application/vnd.ms-excel.template.macroEnabled.12 xltm,"
+ "application/vnd.ms-powerpoint ppt pps pot,"
+ "application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam,"
+ "application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm,"
+ "application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm,"
+ "application/vnd.ms-powerpoint.template.macroEnabled.12 potm,"
+ "application/vnd.ms-word.document.macroEnabled.12 docm,"
+ "application/vnd.ms-word.template.macroEnabled.12 dotm,"
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation pptx,"
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx,"
+ "application/vnd.openxmlformats-officedocument.presentationml.template potx,"
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx,"
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx,"
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document docx,"
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx,"
+ "application/vnd.wap.wmlc wmlc,"
+ "application/vnd.wap.wmlscriptc wmlsc,";

/**
* Initial MIME-type to file extension mapping that will get parsed into a
* file extension to MIME-type map.
*/
private static final String INITIAL_MIME_TO_EXT_MAPPING = ""
+ "application/cu-seeme csm cu,"
+ "application/dsptype tsp,"
+ "application/futuresplash spl,"
+ "application/mac-binhex40 hqx,"
@@ -66,10 +95,7 @@ public class FileTypeResolver {
+ "application/pgp-signature pgp,"
+ "application/postscript ps ai eps,"
+ "application/rtf rtf,"
+ "application/vnd.ms-excel xls xlb,"
+ "application/vnd.ms-powerpoint ppt pps pot,"
+ "application/vnd.wap.wmlc wmlc,"
+ "application/vnd.wap.wmlscriptc wmlsc,"
+ INITIAL_APPLICATION_VND_MIME_TO_EXT_MAPPING
+ "application/wordperfect5.1 wp5,"
+ "application/zip zip,"
+ "application/x-123 wk,"
@@ -137,17 +163,17 @@ public class FileTypeResolver {
+ "application/x-x509-ca-cert crt,"
+ "audio/basic au snd,"
+ "audio/midi mid midi,"
+ "audio/mp4 m4a,"
+ "audio/mpeg mpga mpega mp2 mp3,"
+ "audio/mpegurl m3u,"
+ "audio/ogg ogg,"
+ "audio/prs.sid sid,"
+ "audio/x-aac aac,"
+ "audio/x-aiff aif aiff aifc,"
+ "audio/x-gsm gsm,"
+ "audio/x-pn-realaudio ra rm ram,"
+ "audio/x-scpls pls,"
+ "audio/x-wav wav,"
+ "audio/ogg ogg,"
+ "audio/mp4 m4a,"
+ "audio/x-aac aac,"
+ "image/bitmap bmp,"
+ "image/gif gif,"
+ "image/ief ief,"
@@ -198,14 +224,14 @@ public class FileTypeResolver {
+ "video/dl dl,"
+ "video/fli fli,"
+ "video/gl gl,"
+ "video/mp4 mp4,"
+ "video/mpeg mpeg mpg mpe,"
+ "video/ogg ogv,"
+ "video/quicktime qt mov,"
+ "video/x-mng mng,"
+ "video/x-ms-asf asf asx,"
+ "video/x-msvideo avi,"
+ "video/x-sgi-movie movie,"
+ "video/ogg ogv,"
+ "video/mp4 mp4,"
+ "x-world/x-vrml vrm vrml wrl";

/**
@@ -217,7 +243,7 @@ public class FileTypeResolver {

// Initialize extension to MIME map
final StringTokenizer lines = new StringTokenizer(
INITIAL_EXT_TO_MIME_MAP, ",");
INITIAL_MIME_TO_EXT_MAPPING, ",");
while (lines.hasMoreTokens()) {
final String line = lines.nextToken();
final StringTokenizer exts = new StringTokenizer(line);

Loading…
Cancel
Save