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