WFFM 图片上传事件 Sitecore 8

WFFM Image Uploaded event Sitecore 8

WFFM 文件上传项上传到 Sitecore 媒体库后,我必须执行一些自定义操作。

如何在 C# 中获取上传的 WFFM 媒体项。 Event/Processor/Pipeline/Config 需要 add/update .

我正在使用以下代码,当我手动上传媒体时有效,但当媒体来自 Web 表单 Marketer 时无效:-

public class ProcessMedia : UploadProcessor
{
    public void Process(UploadArgs args)
    {
    }
}

您可以将自定义处理器添加到 formUploadFile 管道,其默认定义可在 Sitecore.Forms.config 中找到。

public class ProcessMedia
{
    public void Process(FormUploadFileArgs args)
    {
        var itemUri = ItemUri.Parse(args.Result);
        var item = Sitecore.Data.Database.GetItem(itemUri);
        // do some stuff...
    }
}

然后给你的处理器打补丁:

<sitecore>
  <pipelines>
    <formUploadFile>
      <processor type="MyCustomProject.Forms.Pipelines.ProcessMedia, MyCustomProject.Forms" />
    </formUploadFile>
  </pipelines>  
</sitecore>

处理器将在 Sitecore.Form.Core.Pipelines.FormUploadFile.Save 之后修补,这是负责将文件保存到 WFFM 中的媒体库的管道。