メディアアイテムのフレンドリーなURLにアクセスする
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore.Resources.Media.MediaManager.GetMediaUrl()メソッドを使ってメディアアイテムのフレンドリーURLにアクセスできます。例えば、Masterデータベース内のメディアアイテムのフレンドリーURLにアクセスするには、/Sitecore/Media Library/Images/Sample:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master"); Sitecore.Data.Items.Item sampleItem = master.GetItem("/sitecore/media library/images/sample"); Sitecore.Data.Items.Item sampleMedia = new Sitecore.Data.Items.MediaItem(sampleItem);
string url = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia));
!警告SitecoreメディアURLに先頭のスラッシュ文字(「/」)を自動的に含めるわけではありません。これによりメディア項目の相対的なURLが生成され、IISはチルダ文字("~")により文書のルートに解決します。非常に深い情報アーキテクチャを持つソリューションでは、相位メディアURLがWebクライアントやWebサーバーが課す制限を超えることがあります。前例で示したSitecore.StringUtil.EnsurePrefix() メソッドを用いて、メディアURLに先頭スラッシュ文字を含めるようにしてください。
Sitecore.Links.UrlBuilders.MediaUrlBuilderOptionsクラスを使ってメディアオプションを指定できます。例えば、Masterデータベース内の*/Sitecore/Media Library/Images/Sample*メディアアイテムのサムネイルのURLを取得するには:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master"); Sitecore.Data.Items.Item sampleItem = master.GetItem("/sitecore/media library/images/sample"); Sitecore.Data.Items.MediaItem sampleMedia = new Sitecore.Data.Items.MediaItem(sampleItem);
Sitecore.Links.UrlBuilders.MediaUrlBuilderOptions mediaOptions = new Sitecore.Links.UrlBuilders.MediaUrlBuilderOptions(); mediaOptions.Thumbnail = true;
string url = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia, mediaOptions));