Jeroen Hoffman pushed to branch release/3.2 at cms-community / hippo-cms

Commits:
0bc63a81 by Marijan Milicevic at 2016-06-27T21:36:51+02:00
CMS-9943 TIFF files cannot be uploaded as assets
- add mimetypes.allowed multistring property

- - - - -
1fb572e8 by Jeroen Hoffman at 2016-07-12T12:25:00+02:00
CMS-9943 Merge release/3.2 changes into bugfix/CMS-9943 branch

- - - - -
24c83c94 by Jeroen Hoffman at 2016-07-12T12:35:24+02:00
CMS-9943 Reintegrate bugfix/CMS-9943 branch into release/3.2

- - - - -
c24899e5 by Jeroen Hoffman at 2016-07-12T12:40:32+02:00
CMS-9943 copyright to 2016

- - - - -


1 changed file:

- 
api/src/main/java/org/hippoecm/frontend/plugins/yui/upload/validation/DefaultUploadValidationService.java


Changes:

=====================================
api/src/main/java/org/hippoecm/frontend/plugins/yui/upload/validation/DefaultUploadValidationService.java
=====================================
--- 
a/api/src/main/java/org/hippoecm/frontend/plugins/yui/upload/validation/DefaultUploadValidationService.java
+++ 
b/api/src/main/java/org/hippoecm/frontend/plugins/yui/upload/validation/DefaultUploadValidationService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2012-2015 Hippo B.V. (http://www.onehippo.com)
+ * Copyright 2012-2016 Hippo B.V. (http://www.onehippo.com)
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,6 +21,8 @@ import java.io.InputStream;
 import java.util.LinkedList;
 import java.util.List;
 
+import com.google.common.base.Strings;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.wicket.Application;
 import org.apache.wicket.markup.html.form.upload.FileUpload;
@@ -51,10 +53,12 @@ public class DefaultUploadValidationService implements 
FileUploadValidationServi
 
     public static final String MAX_FILE_SIZE      = "max.file.size";
     public static final String EXTENSIONS_ALLOWED = "extensions.allowed";
+    public static final String MIME_TYPES_ALLOWED = "mimetypes.allowed";
 
     private ValidationResult result;
     private List<Validator> validators;
     private List<String> allowedExtensions;
+    private List<String> allowedMimeTypes;
     private IValueMap values;
 
     public DefaultUploadValidationService() {
@@ -64,12 +68,16 @@ public class DefaultUploadValidationService implements 
FileUploadValidationServi
     public DefaultUploadValidationService(IValueMap params) {
         validators = new LinkedList<>();
         allowedExtensions = new LinkedList<>();
+        allowedMimeTypes = new LinkedList<>();
 
         if (params.containsKey(EXTENSIONS_ALLOWED)) {
             setAllowedExtensions(params.getStringArray(EXTENSIONS_ALLOWED));
         } else {
             setAllowedExtensions(getDefaultExtensionsAllowed());
         }
+        if (params.containsKey(MIME_TYPES_ALLOWED)) {
+            setAllowedMimeTypes(params.getStringArray(MIME_TYPES_ALLOWED));
+        }
 
         values = params;
 
@@ -151,6 +159,9 @@ public class DefaultUploadValidationService implements 
FileUploadValidationServi
 
     private void validateMimeType(final FileUpload upload) {
         String mimeType = upload.getContentType();
+        if (allowedMimeTypes.contains(mimeType)) {
+            return;
+        }
         try (InputStream is = upload.getInputStream()){
             MimeTypeHelper.validateMimeType(is, mimeType);
         } catch (InvalidMimeTypeException e) {
@@ -163,6 +174,16 @@ public class DefaultUploadValidationService implements 
FileUploadValidationServi
         }
     }
 
+
+    public void setAllowedMimeTypes(final String[] mimeTypes) {
+        allowedMimeTypes.clear();
+        for (String type : mimeTypes) {
+            if (!Strings.isNullOrEmpty(type)) {
+                allowedMimeTypes.add(type);
+            }
+        }
+    }
+
     @Override
     public String[] getAllowedExtensions() {
         return allowedExtensions.toArray(new String[allowedExtensions.size()]);



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-cms/compare/75fd57f75392c29f20d00d115a2cbe231a36faa6...c24899e5633920da367b4fb2d59a52bd3e6b632e
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to