Umbraco заменяет Flle с тем же именем в медиа-сборщик - PullRequest
0 голосов
/ 05 сентября 2018

Как я могу расширить Umbraco media picker, чтобы перезаписать файл, если загружен файл с таким же именем?

enter image description here

На изображении выше Это создает два файла, но я хочу, чтобы первый был заменен новым файлом.

Я использую Umbraco 7.11.1

1 Ответ

0 голосов
/ 12 сентября 2018

Вы пытались создать ApplicationEventHandler и подключиться к одному из событий мультимедиа, перечисленных здесь: https://our.umbraco.com/Documentation/Reference/Events/MediaService-Events Затем вы можете сравнить файл, который пользователь пытается загрузить, с тем, что уже находится в медиа-кэше.

например.

public class MediaSaving : ApplicationEventHandler
{

    protected override void ApplicationStarted(UmbracoApplicationBase 
   umbracoApplication, ApplicationContext applicationContext)
    {
        MediaService.Saving += MediaServiceSaving;
    }

    void MediaServiceSaving(IMediaService sender, SaveEventArgs<IMedia> evt)
    {
        foreach (var mediaItem in evt.SavedEntities)
        {
            //Check if a new upload and correct type etc
            //Compare file paths and overwrite if appropriate
        }

    }
}
...