InboundMultiPartハンドラーは、MIMEマルチパート・コンテンツの送受信に使用されます。
詳細については、「5.2.6 Webブラウザー・コンテンツ」を参照してください。
コマンド |
キーワード |
値 |
開発者用メモ |
RECEIVE |
HANDLER |
InboundMultiPart |
|
|
FILE |
値 |
条件付。INPUTタグの名前 |
|
FIELD |
値 |
条件付。INPUTタグの名前 |
|
FILENAME |
値 |
条件付。INPUTタグの名前 #JSMMSGフィールドはアップロードされたファイル名に設定されます。 |
|
INDEX |
値 |
条件付。保存するマルチパートのインデックス数。 インデックスは 0 から始まります。 |
|
ENCODING |
|
任意。詳細は、「ENCODING」を参照してください。 フィールド値の変換に使用されます。 |
|
NUMBERFORMAT |
|
任意。詳細は、「NUMBERFORMAT」を参照してください。 |
|
TO |
値 |
条件付。コンテンツを受信するファイル・パス |
|
APPEND |
*YES |
任意。既存のファイルにコンテンツを追加します。 |
|
|
*NO |
デフォルト。 |
Webブラウザーはmultipart/form-data形式を使用してコンテンツを送信できます。
<FORM METHOD="POST" ACTION="http://server1/cgi-bin/jsmdirect?upload" ENCTYPE="multipart/form-data">
<INPUT NAME="COMPANY" TYPE="TEXT" SIZE ="30"/>
<INPUT NAME="FILE1" TYPE="FILE" SIZE ="60"/>
<INPUT NAME="FILE2" TYPE="FILE" SIZE ="60"/>
<INPUT NAME="FILE3" TYPE="FILE" SIZE ="60"/>
<INPUT TYPE="SUBMIT" VALUE="Send order"/>
</FORM>
指定のFILE、FIELD、FILENAME、やINDEXが存在しない場合、コマンド・ステータスNOT_EXISTが返されます。
また、FILEコンポーネントが存在していても使用されていない場合は、NOT_EXISTが返されます。
例
Webブラウザーのポストからコンテンツを受信します。
RECEIVE HANDLER(InboundMultiPart) FIELD(COMPANY)
RECEIVE HANDLER(InboundMultiPart) FIELD(COMPANY) ENCODING(MS932)
以下の例では、FILE2として選択されたファイルが場所にアップロードされ、新しい名前がTOパラメータで指定されます。
RECEIVE HANDLER(InboundMultiPart) FILE(FILE2) TO(/folder/file.jpeg)
以下の例の場合、ブラウザーで選択されたFILE2の名前(C:\images\holiday.jpegなど)を示し、その名前がLANSAファンクション(holiday.jpegなど)に渡されます。
RECEIVE HANDLER(InboundMultiPart) FILENAME(FILE2)
このコンテンツ・ハンドラーのSENDコマンドが実行されると、以下のステップが行われます。
1 作業リストの引数を使って、MIME MultiPart応答を作成します。
2 名前の値ペア・データとファイル・データはリスト引数を使用して渡されます。
3 オプションの4番目のフィールドは、ファイル・コンテンツがどのようにMIMEエンコードされるかを制御します。可能な値は8bitまたはbase64です。デフォルトのMIMEエンコーディングは8bitです。MIME本文のコンテンツタイプは、Java Activation Frameworkを使用するファイル拡張子で決まります。
フィールド値エンコーディングはENCODINGキーワードで決まります。
例
DEFINE FIELD(#TYPE) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#NAME) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#VALUE) TYPE(*CHAR) LENGTH(100)
DEF_LIST NAME(#WRKLST) FIELDS(#TYPE #NAME #VALUE) TYPE(*WORKING)
CHANGE FIELD(#TYPE) TO(FIELD)
CHANGE FIELD(#NAME) TO(COMPANY)
CHANGE FIELD(#VALUE) TO(ACME)
ADD_ENTRY TO_LIST(#WRKLST)
CHANGE FIELD(#TYPE) TO(FILE)
CHANGE FIELD(#NAME) TO(ORDER_FILE)
CHANGE FIELD(#VALUE) TO('''/order/month-order.xml''')
ADD_ENTRY TO_LIST(#WRKLST)
CHANGE FIELD(#JSMCMD) TO('SEND HANDLER(InboundMultiPart) SERVICE_LIST(TYPE,NAME,VALUE)')
構文:
コマンド |
キーワード |
値 |
開発者用メモ |
SEND |
HANDLER |
InboundMultiPart |
|
|
STATUS |
値 |
オプションHTTPステータス番号 デフォルト: 200 |
|
MESSAGE |
値 |
オプションHTTPステータス・メッセージ。 デフォルト: OK 正常な HTTP 要求に対する標準的な応答 |
|
UAPATH |
値 |
任意。ユーザー・エージェント保存応答パス |
|
UAFILE |
値 |
任意。ユーザー・エージェント保存応答ファイル名 |
|
UACACHE |
値 |
任意。キャッシュ制御最大期間 デフォルト値は0です。 |
|
UADISPOSITION |
値 |
任意。コンテンツ処理のファイル名 |
|
ENCODING |
|
任意。詳細は、「ENCODING」を参照してください。 フィールド値のエンコードに使用されます。 |
|
NUMBERFORMAT |
|
任意。詳細は、「NUMBERFORMAT」を参照してください。 |
|
CHARSET |
*YES |
任意。charset属性を含めます。 |
|
|
*NO |
charset属性を含めません。 |
|
|
*TEXT |
デフォルト。コンテンツがテキストの場合、charset属性を含めます。 |
例
SEND HANDLER(InboundMultiPart) #WRKLST(TYPE,NAME,VALUE)