---
title: "ファイルフィールドへのアクセス"
slug: "access-file-fields"
abstract: "Sitecoreを使ってファイルフィールドにアクセスする方法。Data.Fields.FileFieldクラス。"
---
# ファイルフィールドへのアクセス

Sitecore.Data.Fields.FileFieldクラスを使って型Fileのデータテンプレートフィールドにアクセスできます。Sitecore.Data.Fields.FileField.MediaItemプロパティを使ってフィールドで選択されたメディアアイテムにアクセスできます。例えば、*Master*データベースの*/Sitecore/Content/Home*項目の*File*フィールドで参照されるメディアアイテムFileField:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

Sitecore.Data.Fields.FileField fileField = home.Fields"filefield";

Sitecore.Data.Items.Item file = fileField.MediaItem;

if (fileField==null) {
 // File field not found
}

else if (file==null) {
 // No file selected
}
else {
 Sitecore.Data.Items.MediaItem media = new Sitecore.Data.Items.MediaItem(file);
 // Process media item
}

*File*フィールドの値を更新するには、Sitecore.Data.Fields.FileField.MediaID属性とSitecore.Data.Fields.FileField.Src属性を更新できます。例えば、*Master*データベースの*/Sitecore/Content/Home*項目の*File*フィールドが*FileField*と名付けられた項目が*/Sitecore/Media Library/Files/Sample*メディア項目を指定するように:

Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");

Sitecore.Data.Items.Item home = master.GetItem("/sitecore/content/home");

Sitecore.Data.Fields.FileField fileField = home.Fields"filefield";

Sitecore.Data.Items.Item sample = master.GetItem("/sitecore/media library/files/sample");

if (fileField == null ){
 // File field does not exist
}

else if (sample == null) {
 // File does not exist
}

else if (fileField.MediaID != sample.ID) {

 home.Editing.BeginEdit();

 fileField.MediaID = sample.ID;
 fileField.Src = Sitecore.Resources.Media.MediaManager.GetMediaUrl(sample);

 home.Editing.EndEdit();

}