interMediaを使用したブラウザからのマルチメディア・コンテンツのアップロードについて

ブラウザからデータベースへのメディア・ファイルのアップロード処理は、次の2つのステップに分けることができます。

  1. ブラウザからWebサーバーへのメディア・ファイルのアップロード
  2. Webサーバーからデータベースへのコンテンツのロード

最初のステップではHTMLフォームが必要です。フォームには、ENCTYPE="multipart/form-data"属性が必要です。フォーム内では、ファイル名の入力にFILE INPUT要素が使用されます。次に例を示します。




<FORM ACTION="handleUpload.jsp" METHOD="POST" ENCTYPE="multipart/form-data">

  Id: <INPUT TYPE="TEXT" NAME="id" LENGTH=10>

  Description: <INPUT TYPE="TEXT" NAME="description" LENGTH=40>

  Photo: <INPUT TYPE="FILE" NAME="photo" LENGTH=40>

  <INPUT TYPE="SUBMIT" TEXT="SUBMIT">

</FORM>

    

ユーザーがすべての情報をフォームに入力して送信ボタンをクリックすると、ファイルのコンテンツとその他の情報が、multipart/form-dataコンテンツ・タイプを使用してHTTP POSTリクエストとしてWebサーバーに送信されます。HTTPリクエストを処理するために、JSPページhandleUpload.jspが起動されます。次に2番目のステップに進みます。

2番目のステップでは、OrdHttpUploadFormDataおよびOrdHttpUploadFileを使用して、ファイル・コンテンツとその他の情報を取得します。次に、OrdImageDomain.setContentSource()メソッドを使用してOrdHttpUploadFileSourceを設定します。最後に、commit()メソッドをコールし、コンテンツをロードして変更内容をコミットします。

次のサンプルは、アップロードしたコンテンツの問合せ方法を示しています。




  //

  // Create an OrdHttpUploadFormData object and use it to parse the

  // multipart/form-data message.

  //

  OrdHttpUploadFormData formData = new OrdHttpUploadFormData( request ); formData.parseFormData();



  //

  // Get the description, location, and photo.

  //

  String id = formData.getParameter( "id" );

  String description = formData.getParameter( "description" );

  OrdHttpUploadFile photo = formData.getFileParameter( "photo" );



  //

  // Create a new row

  //

  Row row = viewObject.createRow();



  //

  // Create a new OrdImageDomain object

  //

  OrdImageDomain img = new OrdImageDomain();



  //

  // Use photo as the content source for deferred loading

  //

  img.setContentSource(new OrdHttpUploadFileSource(photo));



  //

  // Set other attributes

  //

  row.setAttribute("Image", img);

  row.setAttribute("Id", id);

  row.setAttribute("Description", description);



  //

  // Insert the row into the View Object

  //

  vo.insertRow(row);



  //

  // Load the content from photo to the database and

  // commit the changes.

  //

  appModule.getTransaction().commit();

    

 

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