高度なカスタマイズ > Info*Engine ユーザーガイド > Info*Engine データ管理 > BLOB のアップロードおよびダウンロード > アップロード済み BLOB を取得する Webject の制御
  
アップロード済み BLOB を取得する Webject の制御
BLOB が Web ページまたは Info*Engine ベースのアプリケーションから Info*Engine にアップロードされる場合、Info*Engine では、BLOB を使用する Adapter Webject や、各 Webject が使用する BLOB の数を決定できません。デフォルトでは、Info*Engine は利用可能な BLOB をすべて、最初の Adapter Webject (ACT または OBJ タイプの Webject) に送信します。最初の Adapter webject が BLOB を使用する Webject と異なる場合があります。この場合は、Info*Engine のデフォルトの動作が必ずしも適切ではありません。
BLOB の Webject による使用方法を制御するには、BLOB_COUNT パラメータを Adapter Webject に含めます。このパラメータで、Adapter Webject に送信する BLOB 数を指定します。BLOB を Webject に送信しない場合は、値として 0 を指定できます。BLOB_COUNT パラメータを省略すると、残りの BLOB がすべて Webject に送信されます。
以下の UploadBlob.xml の例のタスクには、3 つの Adapter Webbject が含まれます。最初の 2 つの Webject (Do-Sql) はデータベースに対する行の削除と追加を行い、BLOB を使用しません。これらの Webject では、BLOB_COUNT パラメータは 0 に設定されます。第 3 の Webject (Put-Blob-Stream) は BLOB を保存する Webject で、1 つの BLOB を受け入れるように定義されています。Webject のパラメータで使用する @FORM 変数の値は、前のセクションで説明したフォームと似たフォームで指定できます。
* 
BLOB 送信先の Webject を除くすべての Webject に対し、BLOB_COUNT パラメータを 0 に設定する必要があります。
このタスクの例では、データベースに以下のコラムがあると見なします。
BLOB の名前を含む NAME コラム
BLOB データを含む FILECONTENT コラム
タスクの例のコードを以下に示します。
<%@page language="java" session="false"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
           prefix="ie" %>
<!--
  Upload a file from the browser and save in an oracle
  blob column.
--/>
<ie:webject name="Do-Sql" type="ACT">
  <ie:param name="INSTANCE" data="$(FORM[]instance[])"
                            default="jdbcAdapter"/>
  <ie:param name="SQL"
      data="DELETE FROM BLOBTEST WHERE NAME=
           '$(FORM[]filename[0])'"/>
  <ie:param name="CLASS" data="BLOBTEST"/>
  <ie:param name="GROUP_OUT" data="TEMP"/>
  <ie:param name="BLOB_COUNT" data="0"/>
</ie:webject>
<ie:webject name="Do-Sql" type="ACT">
  <ie:param name="INSTANCE" data="$(FORM[]instance[])"
                            default="jdbcAdapter"/>
  <ie:param name="SQL"
      data="INSERT INTO BLOBTEST VALUES
           ('$(FORM[]filename[0])', EMPTY_BLOB())"/>
  <ie:param name="CLASS" data="BLOBTEST"/>
  <ie:param name="GROUP_OUT" data="TEMP"/>
  <ie:param name="BLOB_COUNT" data="0"/>
</ie:webject>
<ie:webject name="Put-Blob-Stream" type="OBJ">
  <ie:param name="INSTANCE" data="$(FORM[]instance[])"
                            default="jdbcAdapter"/>
  <ie:param name="CLASS" data="BLOBTEST"/>
  <ie:param name="ATTRIBUTE" data="FILECONTENT"/>
  <ie:param name="WHERE"
            data="(NAME='$(FORM[]filename[0])')"/>
  <ie:param name="GROUP_OUT" data="TEMP"/>
</ie:webject>