コンテンツ エディターの「メディアをアップロード」ダイアログで同じメディアを2回アップロードすると、メッセージがないクライアント側のエラーが表示されたり、次のエラーがログに出力されたりする場合があります:
Exception: Sitecore.Exceptions.DuplicateItemNameException
Message: The item name "your_image" is already defined on this level.
Source: Sitecore.Kernel
at Sitecore.Data.Items.ItemUtil.AssertDuplicateItemName(Item destinationItem, Item sourceItem, String name)
at Sitecore.Data.Items.ItemUtil.AssertItemName(Item destinationItem, Item sourceItem, String name)
at Sitecore.Data.Items.Item.Add(String name, TemplateID templateID)
at Sitecore.Resources.Media.MediaCreator.CreateItem(String itemPath, String filePath, MediaCreatorOptions options)
at Sitecore.Resources.Media.MediaCreator.AttachStreamToMediaItem(Stream stream, String itemPath, String fileName, MediaCreatorOptions options)
at Sitecore.Resources.Media.MediaCreator.CreateFromStream(Stream stream, String filePath, MediaCreatorOptions options)
at Sitecore.Resources.Media.MediaUploader.UploadToDatabase(List`1 list)
at Sitecore.Resources.Media.MediaUploader.Upload()
at Sitecore.Pipelines.Upload.Save.Process(UploadArgs args)
本問題は、フォルダー内にあるファイルと同じ名前のファイルをアップロードしようとした場合に発生します。なお、管理者のユーザーでは発生しません。
以下の解決策の実施を検討してください:
if (errorThrown === "abort") {
that.app.trigger("upload-error", { id: data.__id });
} else {
if (!errorThrown || errorThrown.trim() === '')
{
errorThrown = jqXHR.responseJSON.errorItems[0].Message.concat(" See logs for more details.")
}
var errors = [{ Message: errorThrown }];
that.app.trigger("sc-error", errors);
that.app.trigger("upload-error", { id: data.__id, errors: errors });
}