---
title: "メディアアイテムのフレンドリーなURLにアクセスする"
slug: "access-the-friendly-url-of-a-media-item"
abstract: "Sitecoreを使ってメディアアイテムのフレンドリーURLにアクセスする方法。Resources.Media.MediaManager.GetMediaUrl()メソッド。"
---
# メディアアイテムのフレンドリーなURLにアクセスする

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));