function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
masamasa 

ドキュメント格納データについて

今、VisualForce(apex:inputfile)を使用して、ファイルアップロード画面を作成​しております。

 

サンプルソースや、ネットを調べてみましたがDocumentテーブルにinsertする所まではわかりま​した。

Force.comの画面のドキュメントタブからも、アップロードしたファイルが格納されているのが確認で​きました。

 

そこで質問です。

1.Documentテーブルにinsertしたデータが格納されていないのですが・・・何か違うの​でしょうか?

2.他のカスタムオブジェクトと、Documentテーブルを関連付けしたいのですが可能でしょうか?

 

2に関して、カスタムオブジェクトからDocumentテーブルと紐付けて添付ファイル(データ)があるか​?というのを調べる。

という事をしたのですが・・・

 

ご存知の方いらっしゃいましたら、よろしくお願い致します。

Best Answer chosen by Admin (Salesforce Developers) 
ikouikou

Body項目が入っていたら外してみてください。

サイズが大きいファイルのBody(Base64)を取得しようとすると出てこない場合があります。

[SELECT Name FROM Document];

とかなら出てくると思います。

All Answers

ikouikou

こんにちは。

 

>Force.comの画面のドキュメントタブからも、アップロードしたファイルが格納されているのが確認で​きました。

>1.Documentテーブルにinsertしたデータが格納されていないのですが・・・何か違うの​でしょうか?

 

画面からアップロードしたファイルを確認できているのに、データが格納されてないというのはちょっと考えにくいです。

対象テーブルや取得条件は合っていますか?

 

>2.他のカスタムオブジェクトと、Documentテーブルを関連付けしたいのですが可能でしょうか?

 

Documentと紐づけることは難しそうなので、Attachment(添付ファイル)を使うのはどうでしょうか。

レコードとファイルを紐付ける場合は添付ファイルを使うのが一般的です。

 

いろいろ開発するという前提であれば、裏でIDを保持するなどして関連付けることは可能だと思います。

masakomasako

ikouさん、ありがとうございます。

 

すみません、ログイン出来なくなってしまいましたので、こちらの名前で。ややこしくなってしまって申し訳ございませんが、

masaと同一人物です。

 

> 対象テーブルや取得条件は合っていますか?

 

特にWhere句で条件を指定せずに、Select ~(省略)~ from Document と書いてます。

他にもForce.com画面のドキュメントタブからファイルをアップロードしたものがいくつかありますが、

そのデータもDocumentテーブルにないようです。Document の権限設定等あったりするのでしょうか?

 

2に関して、参考に開発進めていきます。ありがとうございます。

ikouikou

Body項目が入っていたら外してみてください。

サイズが大きいファイルのBody(Base64)を取得しようとすると出てこない場合があります。

[SELECT Name FROM Document];

とかなら出てくると思います。

This was selected as the best answer
masakomasako

> Body項目が入っていたら外してみてください。

 

Body を外したらちゃんと表示されました!!

ありがとうございます。

 

今アップロードされているファイルのサイズが大きいという事ですが、開発上こういったファイルサイズが大きいデータに対してのinsert,delete に問題出てくることはあるのでしょうか?

 

ikouikou

deleteは特に問題ないと思いますが、insertやupdateに関してはガバナ制限に1トランザクションで消費できるヒープサイズ制限があるので、

そこに引っかかるようなファイルサイズだとinputFileで読み込んだ段階でエラーになるような気がします。

 

大きいファイルを入れるのは難しそうなんで、前提としてファイルサイズはこのくらいまでと決めておいた方がいいかもしれませんね。

masakomasako

ご丁寧に回答して頂いてありがとうございました。

 

手探り状態で開発しているので、とても助かりました。