WFFM 8.1 Проверка загрузки файла Настройка управления
Я использую WFFM 8.1 rev. 160304 Обновление-2. Я должен сделать ниже настройки в элементе проверки загрузки файлов:
- Максимальный размер файла должен быть 2 МБ
- Тип файла MIME тип
- Файл должен быть загружен в физическую папку.
Для двух верхних требований я ссылаюсь на приведенные ниже URL, но это не работает.
https://jonathanrobbins.co.uk/2015/10/06/sitecore-marketplace-module-secure-file-upload/
1 ответ
У меня есть поле загрузки, работающее с некоторыми вашими требованиями (размер файла и расширение). Это должно быть расширяемым, чтобы включить ваши другие.
То, что мы сделали, было:
- Создайте настраиваемое поле, которое наследуется от
FileUploadField
- Добавить пользовательские атрибуты в
public override HttpPostedFileBase Value { get; set; }
например,[LimitAllowedExtensions][LimitFileSize]
- Создайте эти пользовательские атрибуты путем переопределения из DynamicValidationBase, например
public sealed class LimitAllowedExtensionsAttribute : DynamicValidationBase
- В этих классах переопределить
protected override ValidationResult ValidateFieldValue(IViewModel model, object value, ValidationContext validationContext)
с проверкой, которую вы хотите
Зарегистрируйте свое настраиваемое поле в Sitecore, и все готово. Я не уверен, как сделать загрузку в физическую папку, вы можете посмотреть другие функции в FileUploadField (и, возможно, использовать декомпилятор, чтобы проверить исходный код).