OrdHttpUploadFileSourceのコンテンツを含むレコードの挿入

ブラウザからデータベースにマルチメディア・コンテンツをロードするには、oracle.ord.im.OrdHttpUploadFileSourceのインスタンスを使用します。HTML形式のフォームベースのファイル・アップロードでは、フォーム・データおよびアップロードされたファイルが、multipart/form-dataを使用してPOSTリクエストにエンコードされます。OrdHttpUploadFormDataクラスによるこのようなリクエストから解析されたアップロード済ファイルの表現には、OrdHttpUploadFileクラスが使用されます。OrdHttpUploadFileSourceでは、OrdHttpUploadFileのインスタンスを遅延ロードのコンテンツ・ソースとして使用します。次のサンプル・コードは、OrdHttpUploadFileSourceを使用したイメージ・ファイルの挿入方法を示しています。


  OrdHttpUploadFormData formData = new OrdHttpUploadFormData( request );
  formData.parseFormData();
  OrdHttpUploadFile photo = formData.getFileParameter( "photo" );
  Row row = viewObject.createRow();
  OrdImageDomain img = new OrdImageDomain();
  img.setContentSource(new OrdHttpUploadFileSource(photo));
  row.setAttribute("Image", img);
  row.setAttribute("Id", 1);
  vo.insertRow(row);
  appModule.getTransaction().commit();    

実際には、コンテンツのロードはトランザクションをコミットした時点、または変更をポストした時点で行われます。

  1. HTTPリクエストを使用してOrdHttpUploadFormDataのインスタンスを作成します。 このインスタンスは、multipart/form-dataエンコーディングを使用してブラウザからWebサーバーにアップロードされたフォーム・データを表します。
  2. ブラウザからアップロードされたファイル・コンテンツを、OrdHttpUploadFileのインスタンスに取得します。
  3. ビジネス・コンポーネント・ビュー・オブジェクトに、コンテンツをアップロードする行を作成します。
  4. コンテンツ・タイプに適したinterMediaドメイン・クラス(OrdImageDomainOrdVideoDomainOrdDocDomainまたはOrdAudioDomain)のインスタンスを作成します。
  5. OrdHttpUploadFileインスタンスからOrdHttpUploadFileSourceのインスタンスを作成します。
  6. 遅延ロードのsetContentSource()メソッドを、OrdHttpUploadFileSourceインスタンスを使用してコールします。
  7. 行に対してビジネス・コンポーネント・メソッドをコールし、新規ドメインの属性を指定します。
  8. 行を挿入してコミットします。

遅延ロードまたは即時ロードを使用したマルチメディア・コンテンツのロードについて
その他のコンテンツ・ソースを使用したマルチメディア・コンテンツのロード

 

Copyright © 1997, 2004, Oracle. All rights reserved.