WFFM 8.1 Проверка загрузки файла Настройка управления

Я использую WFFM 8.1 rev. 160304 Обновление-2. Я должен сделать ниже настройки в элементе проверки загрузки файлов:

  • Максимальный размер файла должен быть 2 МБ
  • Тип файла MIME тип
  • Файл должен быть загружен в физическую папку.

Для двух верхних требований я ссылаюсь на приведенные ниже URL, но это не работает.

https://sitecorejunkie.com/2014/04/06/restrict-certain-files-from-being-attached-to-web-forms-for-marketers-forms-in-sitecore/

https://jonathanrobbins.co.uk/2015/10/06/sitecore-marketplace-module-secure-file-upload/

1 ответ

У меня есть поле загрузки, работающее с некоторыми вашими требованиями (размер файла и расширение). Это должно быть расширяемым, чтобы включить ваши другие.

То, что мы сделали, было:

  1. Создайте настраиваемое поле, которое наследуется от FileUploadField
  2. Добавить пользовательские атрибуты в public override HttpPostedFileBase Value { get; set; } например, [LimitAllowedExtensions][LimitFileSize]
  3. Создайте эти пользовательские атрибуты путем переопределения из DynamicValidationBase, например public sealed class LimitAllowedExtensionsAttribute : DynamicValidationBase
  4. В этих классах переопределить protected override ValidationResult ValidateFieldValue(IViewModel model, object value, ValidationContext validationContext) с проверкой, которую вы хотите

Зарегистрируйте свое настраиваемое поле в Sitecore, и все готово. Я не уверен, как сделать загрузку в физическую папку, вы можете посмотреть другие функции в FileUploadField (и, возможно, использовать декомпилятор, чтобы проверить исходный код).

Написал пост в блоге, объясняющий это.

Другие вопросы по тегам