Jeroen Hoffman pushed to branch release/4.0 at cms-community / hippo-cms
Commits: 18b47b52 by Marijan Milicevic at 2016-07-12T14:52:49+02:00 CMS-10239 TIFF files cannot be uploaded as assets - add mimetypes.allowed multistring property (cherry picked from commit 0bc63a8128d6022ceb2f2ca5a70d45dc26bdb71b) - - - - - 2a2025c5 by Jeroen Hoffman at 2016-07-12T15:16:06+02:00 CMS-10239 copyright to 2016 (cherry picked from commit c24899e5633920da367b4fb2d59a52bd3e6b632e) - - - - - 032a3dae by Jeroen Hoffman at 2016-07-12T15:38:18+02:00 CMS-10239 Merge branch 'bugfix/CMS-10239' into release/4.0 - - - - - 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/fcb1080387a44f2d14e604338447886d21cc63b7...032a3daebe238a7fda3cf463d69969995c95ca2d
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn