WFFM Image Загруженное событие Sitecore 8
Мне нужно выполнить некоторые пользовательские операции после загрузки элемента загрузки файла WFFM в библиотеку мультимедиа Sitecore.
Как я могу получить загруженный элемент медиа WFFM в C#. Какое событие / процессор / конвейер / конфигурацию нужно добавить / обновить.
Я использую приведенный ниже код, он работает, когда я загружал медиа вручную, а не когда медиа приходит из веб-формы Marketer:-
public class ProcessMedia : UploadProcessor
{
public void Process(UploadArgs args)
{
}
}
1 ответ
Решение
Вы можете добавить собственный процессор к 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.