umbraco在媒体选择器中将同名文件替换为flle

时间:2018-09-05 09:07:10

标签: umbraco mpmediapickercontroller

如果上传了相同名称的文件,如何扩展Umbraco媒体选择器以覆盖文件?

enter image description here

在上图中,它创建了两个文件,但我希望第一个文件被新文件替换。

我正在使用umbraco 7.11.1

1 个答案:

答案 0 :(得分:0)

您是否尝试过创建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
        }

    }
}