WFFM 8.1文件上传验证控件定制

问题描述:

我正在使用WFFM 8.1 rev。 160304更新-2。 我要做下面定制的文件上传验证控件:WFFM 8.1文件上传验证控件定制

  • 最大文件大小应为2 MB
  • 文件类型MIME类型
  • 文件必须在物理文件夹上传。

对于前两个要求,我指的是下面的网址,但它不起作用。

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/

+0

什么是不工作?你整合/尝试了什么,什么是失败以及如何? – jammykam

+0

您使用的是mvc还是webforms? – Gatogordo

+0

Web表单营销..与Sitecore MVC – Shailesh

我有一个上传字段与你的一些要求(文件大小和扩展名)工作。它应该可扩展以包含你的其他人。

我们所做的是:

  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中的其他功能(也可以使用反编译器检查原始代码)。

写了一个blog post解释这一点。