InboundMultiPart
InboundMultiPartハンドラーは、MIMEマルチパート内容の送受信に使用されます。
「Webブラウザー・コンテンツ」を参照してください。
コマンド |
キーワード |
値 |
コマンド/キーワード/値に関する開発担当者メモ |
RECEIVE |
HANDLER |
|
InboundMultiPart |
FILE |
値 |
条件付。INPUTタグの名前 |
|
FIELD |
値 |
条件付。INPUTタグの名前 |
|
FILENAME |
値 |
条件付。INPUTタグの名前 |
|
ENCODING |
|
任意。「ENCODING」を参照してください。 |
|
NUMBERFORMAT |
|
任意。「NUMBERFORMAT」を参照してください。 |
|
TO |
値 |
条件付。内容を受信するファイル・パス |
|
APPEND |
*YES |
任意。既存のファイルに内容を追加します。 |
|
*NO |
省略値 |
Webブラウザーはmultipart/form-data形式を使用して内容を送信できます。
<FORM METHOD="POST" ACTION="http://lansa01/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がない場合、コマンド・ステータス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(/image-upload/photo.jpeg)
以下の例の場合、ブラウザーで選択されたFILE2の名前(C:\images\holiday.jpegなど)を示し、その名前がLANSAファンクション(holiday.jpegなど)に渡されます。
RECEIVE HANDLER(InboundMultiPart) FILENAME(FILE2)
このコンテンツ・ハンドラーのSENDコマンドが実行されると、以下のステップが行われます。
作業リスト引数を使用して、MIME MultiPart応答を作成します。
名前の値ペア・データとファイル・データはリスト引数を使用して渡されます。
リストの最初のフィールドには、構成要素の内容タイプFIELDまたはFILEが含まれます。
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 |
UAPATH |
値 |
任意。ユーザー・エージェント保存応答パス |
|
UAFILE |
値 |
任意。ユーザー・エージェント保存応答ファイル名 |
|
UACACHE |
値 |
任意。キャッシュ制御最大期間 |
|
UADISPOSITION |
値 |
任意。内容処理のファイル名 |
|
ENCODING |
|
任意。「ENCODING」を参照してください。 |
|
NUMBERFORMAT |
|
任意。「NUMBERFORMAT」を参照してください。 |
|
CHARSET |
*YES |
任意。charset属性を含めます。 |
|
*NO |
charset属性を含めません。 |
||
*TEXT |
省略値。内容がテキストの場合、charset属性を含めます。 |
例
SEND HANDLER(InboundMultiPart) SERVICE_LIST(TYPE,NAME,VALUE)