【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.