【Salesforce】Visualforceで添付ファイルを扱う
Visualforceの画面で、添付ファイルをアップロードしたいということがよくあるかと思います。
Salesforceのレコードに添付されているファイルはAttachmentというレコードで存在します。
https://developer.salesforce.com/docs/atlas.ja-jp.api.meta/api/sforce_api_objects_attachment.htm
ファイルをアップロードする対象のレコードを親としてAttachmentのレコードを作成すればできてしまいます。
さらに、Visualforceタグには都合よくファイルをアップロードするためのタグが存在します。
「apex:inputFile」タグがそれにあたりますね。
https://developer.salesforce.com/docs/atlas.ja-jp.204.0.pages.meta/pages/pages_compref_inputFile.htm
これらを利用することで、簡単に添付ファイルを作成することができます。
簡単な例を記述します。
こちらはApex側の処理です。
public Account account{get;set;}
public Attachment attachment{get;set;}
public void upload(){
// 取引先のIDを親IDにする
this.attachment.ParentId = this.account.Id;
insert this.attachment
}
こちらはVisualforce側です。
<apex:inputFile fileName="{!attachment.Name}" value="{!attachment.Body}" />
<apex:commandButton action="{!upload}" value="アップロード" />
上のURLにもあるように、10Mバイトのファイルまでアップロードできるようです。
とても簡単ですね。
No comments.