我必须执行一些自定义操作,一旦WFFM文件上传项目被上传到Sitecore媒体库。
如何在C#中获得上传的WFFM媒体项目。哪个事件/处理器/管道/Config需要添加/更新。
我正在使用下面的代码,当我手动上传媒体时,它可以工作,但是当媒体来自Web表单标记时,它就不能工作:-
public class ProcessMedia : UploadProcessor
{
public void Process(UploadArgs args)
{
}
}发布于 2016-12-06 11:43:39
您可以向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中的媒体库。
https://stackoverflow.com/questions/40989760
复制相似问题