FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

Similar documents
FW APIServer 設定ガイド Version 年 2 月 3 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

テキスト固定長ファイル概要 固定長テキストファイル フォーマット一覧固定長テキストファイルのレコード長およびフォーマットは以下の通りです 項番 ファイル レコード長 (byte) 1 一括記録請求ファイル 一括記録請求結果ファイル 開示結果ファイル 共通フォーマッ

--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S

ドコモメール連携アプリ開発ガイド(新IF対応)

storage-sdk-Java

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

BizDataBank とはインターネット上のクラウドサーバーを 自分のパソコンのハードディスクのようにご利用いただけるサービスです クラウドに格納したデータはパソコンだけでなく スマートフォンやタブレットでも自在にアクセス可能 さらに 大容量データの送信やメンバー限定のファイル共有など ビジネスや

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することが出来る便利なアプリケーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライアントと本資料に差分が発生する場合が

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

IM-SecureBlocker

はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID

WEBシステムのセキュリティ技術

Rmenuフレームワーク

目次 目次 はじめに ライセンスに関して 作成の流れ デザイン作成 基本的なデザイン手順...4 テンプレートの作成...4 デザイン方法...5 機能 サンプルのテンプレートを作成する...6 作成するデザインにつ

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Cloud Disk とは インターネット上 ( クラウド ) に大切なデータを保存することが出来る便利なアプリケーション ( オンラインストレージ ) です 本資料について Cloud Disk サービスは マイナーバージョンアップ等もあるため 実際のクライアントと本資料 に差分が発生する場合があ

Microsoft PowerPoint - OOP.pptx

プロバイダ ユーザーズガイド

Java知識テスト問題

WebOTXマニュアル

目次 Web インターフェースでのログイン方法 1 Web インターフェースから利用できる機能の紹介 3 1ファイルのアップロードとダウンロード 4 2 転送確認 ( ファイルのアップロード状況 ) 9 3ファイル更新履歴の管理 10 4 操作履歴の確認 12 5アクセスチケットの生成 ( フォルダ

Microsoft Word - ModelAnalys操作マニュアル_

intra-mart Accel Collaboration — ファイルライブラリ 管理者操作ガイド   第6版  

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

改訂履歴 項番版数作成日 / 改訂日変更箇所変更内容. 平成 28 年 5 月 3 日新規章構成の変更, 分冊化に伴い新規作成 (i)

位置参照情報 API 仕様 ( 試行版 ) 位置参照情報 API 仕様 ( 試行版 ) Ver 1.0b 平成 26 年 12 月 国土交通省国土政策局国土情報課

PowerPoint Presentation

intra-mart WebPlatform/AppFramework

変更履歴 版数 修正日 修正箇所 修正内容 /4/27 初版 /7/27 - クリップボードへのコピーで不要な文字が含まれる事象を修正 /4/ 暗号化プロトコルのサポートについて記載 /8/ ステータス

CONTEC DIOプロバイダ ユーザーズガイド

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

FTP 共有を有効にする あらかじめ作成済みの共有フォルダーを FTP 共有可能にする設定を説明します 共有フォルダーの作成方法は 画面で見るマニュアル をご覧ください ファイル数の多い共有フォルダーを変更すると 変更が完了するまでに時間がかかる場合があります また 変更が完了するまで共有フォルダー

仕様書用テンプレート

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

intra-mart Accel Platform — IM-FileExchange 管理者操作ガイド   第3版  

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

PowerPoint プレゼンテーション

インターネット低圧託送工事申込(たくそう君) WebAPI仕様書概要

Microsoft PowerPoint - T4OOマニュアル_初期設定用_ pptx

やってみようINFINITY-写真管理 編-

FileZen(めるあど便) 利用マニュアル

Microsoft PowerPoint - T4OOマニュアル_admin管理者_ pptx

X-MON 3.2.0

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第3版  

改訂履歴 版 更新日 改訂内容 Ver 1.0b 2014 年 12 月 試行版 国土数値情報 API 仕様 ( 試行版 )

ConMas Manager データ取り込みレイアウト Copyright 2012 CIMTOPS CORPORATION - All Rights Reserved.

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

変更履歴 版数変更日変更内容 /9/1 初版設定

TestDesign for Web

JavaプログラミングⅠ

Prog1_15th

モバイルバックエンド基盤 REST API リファレンス (API Gateway/Cloud Functions 編 ) Ver 年 9 月 22 日 日本電気株式会社

WebCADD.com ご利用ガイド

PowerPoint プレゼンテーション

JBoss Application Server におけるディレクトリトラバーサルの脆弱性

[ ]マーケティングプラットフォームバージョンアップリリースノート.docx

SOC Report

Microsoft Word - 注文ステータス変更API仕様書(EC)_ver1.docx

変更履歴 No 版数 更新日 変更箇所 変更内容 版 2017/6/26 - 新規作成 版 2018/3/ 法令 API 対象外の法令取得対象外となる法令データに係に関する事項る留意事項を追記 HTTP レスポンスコ 版 2018/3/

はじめに 本ドキュメントでは Salesforce 標準機能である 変更セット を使用して Visualforce ページ Apex クラスを Sandbox から本番環境に移行する手順を説明します 但し前提条件として Sandbox 本番環境共に SkyVisualEditor がインストールされ

ファイル操作

画面上部 1 管理者設定検索自動振分一覧 説明管理者モード / 一般モードの切替を行います 詳細については 注意事項を参照下さい を押すとメニューが表示されます 管理者モードの操作方法は 管理者設定編 を参照下さい キーワードを元に 選択したFAXの文書の検索が出来ます FAX 自動振分の情報を確認

J-STAGE 記事登載時の入力データのチェック強化について

UIOUSBCOM.DLLコマンドリファレンス

PowerPoint Presentation

<4D F736F F D20B6BCB5D7B2CCDED7D8CFC6ADB1D9315F43532E444F43>

1. 概要 この章では HDE Controller X LG Edition をお使いの方に向けて LGWAN 接続に特化した設定の説明をします HDE Controller X LG Edition 以外の製品をご利用のお客様はこの章で解説する機能をお使いになれませんのでご注意ください 452

Prog2_10th

Web型iEDIシステム操作説明書

i

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  


Prog2_9th

Web ファイルアクセス (Nextcloud) 利用マニュアル PC 操作編 Ver /4/26 明治大学情報基盤本部

オートビュー

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン

エネルギー消費性能計算プログラム API 仕様 プログラムバージョン Ver 概要これは エネルギー消費性能計算プログラムの API の仕様を記述したものです API は エネルギー消費性能の計算及び様式出力の機能を提供します 計算するプログラムのバージョンに合わせた API 仕様

Prog2_15th

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第5版  

アプリケーションサーバ用データベースアクセス 汎用コントロール Version Copyright(c) 2004 MRO co;ltd All Rights Reserved

オートビュー

PowerPoint プレゼンテーション

ステップ 1:Cisco Spark にサインアップして試してみよう 1. Spark のホームページ ( で電子メールアドレスを入力し 指示に従って Spark アカウントを作成します 注 : 自身の電子メールアカウントにアクセスして Spar

Microsoft Word - WebClass Ver 9.08f 主な追加機能・修正点.docx

Ver 年 10 月 15 日 改訂履歴 版数 改訂 年月日 改訂 頁 改訂内容 年 3 月 19 日 - 初版作成 年 6 月 12 日 4~ 手順の細分化 年 8 月 21 日 9, 13 複数研究対応に関する内容の追加 1

Prog1_10th

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

1. ログイン 1-1 管理画面へのログイン 施設の作成 編集 削除や承認 公開には その操作権限を持つアカウントでログイン します アカウントについての詳細は 管理者にお問い合わせください (1) [ ユーザー ID またはメールアドレス ] と [ パスワード ] を入力後 [ ログイン ] を

変更履歴 版数 修正日 修正箇所 修正内容 /7/27 初版 /12/4 - プロパティを修正 2 / 10

IM-BIS for Accel Platform — Office365 for IM-BIS 連携ガイド   第2版  

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスと 一括請求 Assist の関係 1-2. 一括請求 Assist による課題解決 2-1. 一括請求 Assist の機能概要 2-2. 一括請求 Assist 業務に関連する機能の全体像 2-3. 一括請求 Ass

Transcription:

FW ファイルアップロード ダウンロード機能利用ガイド Version 1.1 2016 年 9 月 21 日富士通株式会社 i

改訂履歴改訂 No. 日付 Version 章 No. 項 No. 改訂内容 1 2015/12/02 1.0 - - 新規作成 2 2016/09/21 1.1 4 4.1.3 text/plan を text/plain に修正 章立てを修正 ii

目次 第 1 章 はじめに... 1 第 2 章 ファイルアップロード機能... 2 第 3 章 ファイルダウンロード機能... 3 第 4 章 作業詳細... 4 4.1 リクエストの送信... 4 メソッド... 4 ヘッダ... 4 multipart の内部構造... 4 4.2 レスポンスの受信... 6 ヘッダ... 6 ボディ部... 6 4.3 フレームワーク定義の設定... 7 定義ファイル... 7 4.4 SIMPLEEVENTFLOW 定義の編集... 8 4.5 業務処理の実装... 9 実行対象のメソッドの引数設定... 9 業務処理の実装... 13 4.5.2.1 アップロードファイルの情報を取得し業務処理を実装する例... 13 4.5.2.2 ダウンロードファイル情報を返却するための処理を実装する例... 14 iii

第 1 章 はじめに 本資料は ファイルのアップロード ダウンロード機能の利用方法について説明します 1

第 2 章 ファイルアップロード機能 ファイルアップロード機能は http リクエストにファイルデータを設定し 対応する業務処理に連携することでファイルのアップロードを実現するための機能です ファイルアップロード処理時に対象のファイルに問題がないか以下のチェックを行います チェックで問題となった場合は http レスポンスにエラーコードを返却し処理を中断します チェック項目 デフォルト値 備考 ファイルのアップロード数の上限チェック 100 個 フレームワーク定義で任意設定可能です アップロードファイルの単体ファイルサイズチェック 1000000000 バイト フレームワーク定義で任意設定可能です アップロードファイルの1リクエストに対する全体サイズチェック 1000000000 バイト フレームワーク定義で任意設定可能です クライアント フレームワーク プラグイン 業務処理でファイルアップロード機能として必要な作業は以下の通りです 作業を行う箇所 必要となる作業 説明 備考 クライアント リクエストの送信 http リクエストでファイルデータを含むデータを送信します 送信するデータ形式は FW の指定したインターフェースで設定してください フレームワーク フレームワーク定義の設定 フレームワークの共通設定を定義している定義ファイル (xframeworkconfig.xml) に ファ イルアップロード ダウンロード処理に関連する値を設定します プラグイン SimpleEventFlow 定義の編集 FW プラグインの SimpleEventFlow デザイナー にて SimpleEventFlow 定義の編集を行います モデルベースオブジェクト (MBC) のパラメーターリストに BPM_CONTEXT を定義します 業務処理 業務処理の実装 モデルオブジェクトクラス (MBC) にて IBPMContext よりアップロードファイルに関連す る値を取得する処理を実装します 取得した IBPMContext よりアップロードファイル情 報を取得し アップロード処理を実装します フレームワークの定義ファイルについては別紙 FW 全体定義体ガイド を参照してください SimpleEventFlow 定義 SimpleEventFlow デザイナーと関連する用語については 別紙 SimpleEventFlow 定義ツールマニュアル を参照してください ファイルアップロード機能に関連する機能配置の概要は以下の通りです クライアント フレームワーク BPM IBPMContext モデルオブジェクト (MBC) 業務処理 HTTP リクエストにファイルのデータを設定し送信します multipart 形式により複数ファイルを送信できます フレームワーク定義 (xframeworkconfig.xml) プラグイン (BPM 資産の自動生成 ) SimpleEventFlow 定義 2

第 3 章 ファイルダウンロード機能 ファイルダウンロード機能は http レスポンスに業務処理で書き込んだファイルの情報を返却することでファイルのダウンロードを実現するための機能です リクエストについてはフレームワークで許可している GET,POST,PUT,DELETE のメソッドが使用可能です クライアント フレームワーク プラグイン 業務処理でファイルダウンロード機能として必要な作業は以下の通りです 作業を行う箇所 必要となる作業 説明 備考 クライアント レスポンスの受信 http レスポンスで FW が設定したファイルデータを受信します フレームワーク フレームワーク定義の設定 フレームワークの共通設定を定義している定義ファイルに ファイルアップロード ダウ ンロード処理に関連する値を設定します プラグイン SimpleEventFlow 定義の編集 FW プラグインの SimpleEventFlow デザイナー にて SimpleEventFlow 定義の編集を行います モデルベースオブジェクト (MBC) のパラメーターリストに BPM_CONTEXT を定義します 業務処理 業務処理の実装 モデルベースオブジェクトクラス (MBC) にて IBPMContext より値を取得する処理を実 装します 取得した IBPMContext よりアップロードファイル情報を取得し アップロード処理を実装します フレームワークの定義ファイルについては別紙 FW 全体定義体ガイド を参照してください SimpleEventFlow 定義 SimpleEventFlow デザイナーと関連する用語については 別紙 SimpleEventFlow 定義ツールマニュアル を参照してください ファイルダウンロード機能に関連する機能配置の概要は以下の通りです クライアント フレームワーク ファイルのデータが設定されている http レスポンスを受信します ファイルは 1 レスポンスにつき 1 ファイルのみ設定されています BPM IBPMContext モデルオブジェクト (MBC) 業務処理 フレームワーク定義 (xframeworkconfig.xml) プラグイン (BPM 資産の自動生成 ) SimpleEventFlow 定義 3

第 4 章作業詳細 各作業の詳細を以下に示します 4.1 リクエストの送信 ファイルアップロードを行う際の http リクエストのインターフェースを以下に示します メソッド POST と PUT が使用可能です ヘッダファイルアップロードに関連する http リクエストヘッダの形式は以下の通りです フィールド設定 説明 設定必須 / 任意 Content-Type: multipart/form-data; boundary=[ バウンダリ文字列 ] ファイルアップロード処理ではマルチパートの形式で受信することを想定しているため 必須 Content-Type には "multipart/form-data" を設定してください 備考 multipart の内部構造内部構造は http の multipart 形式の記述に準拠してください multipart 形式の http リクエストについて ボディ部の設定は下記の通りに設定します 1 バウンダリ区切り 1 件目のデータのヘッダとボディ部構造バウンダリ区切り 1 件目に IF データ定義にて定義した Json 形式のデータを設定します ヘッダの形式は以下の通りです フィールド設定 説明 設定必須 / 任意 Content-Type: application/json バウンダリの1 区切り目は IF データ定義の形式で受信することを想定しているため 必須 "application/json" を設定してください 備考 ボディ部は IF データ定義の形式の Json データを設定します IF データ定義に対応する値を特に設定しない場合は {} ( 空設定 json の囲みのみ設定 ) をしてください ( しない場合はフレームワークエラーが発生します ) 2 バウンダリ区切り 2 件目以降のヘッダとボディ部構造バウンダリ区切り 2 件目以降にアップロードしたいファイルの情報を設定します 関連するヘッダの形式は以下の通りです フィールド設定 説明 設定必須 / 任意 Content-Type:[ 任意の設定 ] アップロードファイルに対応する Content-Type と charset を設定してください 任意 ただし 値の使用は業務処理に依存します Content-Disposition: Content-Disposition ヘッダの filename 引数に 任意 filename=[ ファイル名 ] アップロードファイルに対応するファイル名を設定してください ただし 値の使用は業務処理に依存します 備考 ファイル名に日本語等 マルチバイト文字を使用する場合は URLEncode を実施する必要があります ボディ部はファイルデータを設定します ボディ部の末尾にバウンダリの終了区切り (-- を末尾に設定 ) を設定してください 4

multipart の内部構造の例は以下の通りです IF データ定義の値有 http リクエストヘッダに Content-Type: multipart/form-data; boundary=fw_rest_server_handle_xf423f 1511E8D8EF800-10.77.11.154 が設定されている場合の内部構造です --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: application/json { "string_hankaku" : "test", "string_zenkaku" : " テスト ", "lastupdate" : "20150501", "number_long" : 1, "number_decimal" : 1.1, "catalog_string" : "01", "catalog_nmber" : 0 } --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: text/plain Content-Disposition: attachment; filename=uploadfile.txt IF データ定義に対応した Json 形式の値を設定します バウンダリ区切り 2 区切り目以降はファイルの情報を設定します ファイルデータ箇所ファイルアップロードのデータ ( テキストベース ) --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: text/plain Content-Disposition: attachment; filename=%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e7%94%a8%e8%a9%a6%e9%a8%93%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab.txt ファイル名に日本語等マルチバイト文字を使用する場合は URLEncode を実施する必要があります ファイルアップロードのデータ ( テキストベース ) --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154-- バウンダリの終了区切り IF データ定義の値無 http リクエストヘッダに Content-Type: multipart/form-data; boundary=fw_rest_server_handle_xf423f 1511E8D8EF800-10.77.11.154 が設定されている場合の内部構造です IF データ定義の値が無い場合であっても バウンダリ区切り 1 件目は json を設定してください ボディ部には {}( 空設定 ) を行ってください --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: application/json {} --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: text/plain Content-Disposition: attachment; filename=uploadfile.txt {} ( 空設定 ) をしてください ファイルアップロードのデータ ( テキストベース ) --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154 Content-type: text/plain Content-Disposition: attachment; filename=%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e7%94%a8%e8%a9%a6%e9%a8%93%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab.txt ファイルアップロードのデータ ( テキストベース ) --FW_REST_SERVER_HANDLE_XF423F 1511E8D8EF800-10.77.11.154-- 5

4.2 レスポンスの受信 ファイルダウンロードを行う際の http レスポンスのインターフェースを以下に示します ヘッダ ファイルダウンロードに関連する http レスポンスヘッダは以下の通りです フィールド設定 説明 備考 Content-Disposition: attachment; filename=[ ファイル名 ] ダウンロードファイルのファイル名が設定されます 業務処理でファイル名が設定されない場合は 当フィールドは設定されません 値の設定有無 設定値については連携した業務処理に依存します 1Content-Type: [ コンテンツ種別 ] もしくは 2Content-Type: [ コンテンツ種別 ] ;charset=[ エンコード ] ダウンロードファイルのコンテンツ種別とエンコードが設定されます 業務処理でコンテンツ種別やエンコードが設定されない場合は 当フィールドは設定されません 値の設定有無 設定値については連携した業務処理に依存します コンテンツ種別のみ業務処理で設定した場合は1 コンテンツ種別とエンコードを業務処理で設定した場合は2が設定されます ボディ部 ボディ部に設定されているストリームがファイルのデータとなります 6

4.3 フレームワーク定義の設定 フレームワークで使用している定義ファイルにアップロード処理に関連する値を設定します 設定内容を以下に示します 定義ファイル ファイル名 :xframeworkconfig.xml 概要 : フレームワークを構成するモジュールが共通で使用する定義体 関連する領域の設定は以下の通りです 値の詳細については別紙 FW 全体定義体ガイド を参照してください 領域名 FILE_UTIL X71_SV_REQUEST_CHECKER X71_SV_REQUEST_CHECKER 定義名 temporary.file.path com.fujitsu.xframework.x71.server.check.httprequestsizechecker com.fujitsu.xframework.x71.server.check.httprequestcountchecker 7

4.4 SimpleEventFlow 定義の編集 SimpleEventFlow 定義の モデルベースオブジェクト (MBC) のプロパティ パラメーターリスト の格納 RP キーに BPM_CONTEXT を設定します 格納 RP キーに BPM_CONTEXT を設定します 呼び出し対象のメソッドの引数の順番と合わせる必要があります 8

4.5 業務処理の実装 ファイルアップロード ダウンロード処理で必要となる業務実装を以下に示します 実行対象のメソッドの引数設定ファイルアップロード ダウンロードの処理を行うクラスのインターフェース (IBPMContext) を実行対象メソッドのパラメータに追加します IBPMContext のインターフェースは下記の通りです クラス名機能概要 com.fujitsu.fw.parameter.context.ibpmcontext HTTP 連携で設定される情報について格納 編集 取得する機能提供します 当資料ではファイルアップロード ダウンロードに関する説明を記述します メソッド名 パラメータ 返却値 例外 説明 getuploadfilessize 無 int 無 処理概要アップロードファイル数を取得します 返却値設定されたアップロードファイル数 getuploadfilecontents int index IUploadFileContents 無 処理概要アップロードファイル情報 1を取得します アップロードされた順序に対応した index を設定し取得できます 設定されていない index を指定した場合は null を返却します パラメータ index - ファイル設定位置 ( 位置は boundary で区切られたダウンロードファイルの順に 0 から始まります ) 返却値アップロードファイル情報 createdownloadfilecontents 無 IDownloadFileContents 無 処理概要ダウンロードファイル情報 2を作成します 返却値ダウンロードファイル情報 removedownloadfile 無 無 com.fujitsu.fw.exception.frameworkexception 処理概要 ダウンロードファイル情報を削除します 9

1: アップロードファイル情報 : アップロードファイルに関連する情報の取得機能を提供するクラス インターフェースは以下の通りです クラス名機能概要 com.fujitsu.fw.url.file.iuploadfilecontents アップロードファイルの情報を操作する機能を提供します メソッド名 パラメータ 返却値 例外 説明 getuploadfilename 無 String 無 処理概要アップロードファイル名を取得します 返却値アップロードファイル名 未設定の場合は null を返却します getuploadfilecontenttype 無 String 無 処理概要アップロードファイルのコンテンツ種別を取得します 返却値コンテンツ種別 未設定の場合は null を返却します getuploadfilestream 無 java.io.inputstream com.fujitsu.fw.exception.frameworkexception 処理概要アップロードファイルのストリームを取得します 返却値アップロードファイルのストリーム getuploadfileheaders 無 Map<java.lang.String,java.lang.String[]> 無 処理概要アップロードファイルのヘッダ情報を取得します 返却値 アップロードフィルのヘッダ情報 10

2: ダウンロードファイル情報 : ダウンロードファイルに関連する情報の作成 取得 削除機能を提供するクラス インターフェースは以下の通りです 設定する値 ( ストリーム ファイル名 コンテンツ種別 エンコード ) は任意設定です 設定していない場合は対応する箇所に値が設定されません ストリームが設定されていない場合は http レスポンスのボディが空となります ダウンロードファイル情報を作成した場合 http レスポンスはファイル情報を返却します ダウンロードファイルを作成していない場合 もしくは作成後 IBPMContext.removeDownloadFile を実行した場合は ファイル情報を返却せず IF データ定義に対応する値を http レスポンスとして返却します クラス名機能概要 com.fujitsu.fw.url.file.idownloadfilecontents ダウンロードファイルの情報を操作する機能を提供します メソッド名 パラメータ 返却値 例外 説明 getoutputstream 無 java.io.outputstream com.fujitsu.fw.exception.frameworkexception 処理概要ダウンロードファイル用のストリームを取得します ダウンロードさせたい内容を取得したストリームに書き込みます 書き込んだ情報がダウンロードファイルの中身となります 返却値ダウンロードファイル用ストリーム setfilename String filename 無 無 処理概要ダウンロードファイルの名前を設定します 設定した場合 レスポンスのヘッダに以下の内容が追加されます Content-Disposition: attachment; filename=[ 設定した値 ] ファイル名はサーバのデフォルトエンコードで URLEncode されます パラメータ filename ダウンロードファイル名 getfilename 無 String 無 処理概要ダウンロードファイル名を取得します 返却値ダウンロードファイル名 setcontenttype String contenttype 無 無 処理概要ダウンロードファイルのコンテンツ種別を設定します 設定した場合 レスポンスのヘッダに以下の内容が追加されます Content-Type: [ 設定した値 ] パラメータ contenttype コンテンツ種別 getcontenttype 無 String 無 処理概要ダウンロードファイルのコンテンツ種別を取得します 返却値コンテンツ種別 setencode String encode 無 無 処理概要ダウンロードファイルのエンコードを設定します 設定した場合 レスポンスヘッダが以下の内容が追加されます Content-Type: [ 設定したコンテンツ種別 ;charset=[ 設定した値 ] ただし setcontenttype でコンテンツ種別を設定しない場合は エンコードは設定されません パラメータ encode エンコード getencode 無 String 無 処理概要ダウンロードファイルのエンコードを取得します 返却値エンコード remove 無 無 com.fujitsu.fw.exception.frameworkexception 処理概要 ダウンロードファイル情報の削除処理を行います 11

12

業務処理の実装 http リクエストで設定されたアップロードファイルの情報を取得し 業務がファイルアップロード業務に関連する処理を実装します また http レスポンスにダウンロードファイルの情報を返却するために 業務がダウンロードファイル情報を返却するための処理を実装します 実装例は以下の通りです 4.5.2.1 アップロードファイルの情報を取得し業務処理を実装する例 public IFDataTypeTextOutput fileuploaddownload(isessionhandle handle, IFDataTypeTextInput ifdatatypetextinput, IBPMContext context) { ILogger logger = this.getlogger(); // 設定されているアップロードファイルの数分処理を行う for (int i = 0; i < context.getuploadfilessize(); i++) { // アップロードファイル情報を取得する IUploadFileContents uploadfile = context.getuploadfilecontents(i); // 設定されているファイル名を取得する String filename = uploadfile.getuploadfilename(); // アップロードファイルの中身をストリームで取得する try (InputStream is = uploadfile.getuploadfilestream()) { IBPMContext をパラメータに設定します パラメータの位置は ISessionHandle を除き SimpleEventFlow 定義の編集で設定したパラメータの順となります 設定されているアップロードファイルの数分ループしながら各種情報を取得し アップロード処理を実装します ~ ストリームを取得し 業務で必要なアップロード処理を実装する ~ } } catch (Exception e) { logger.log(basiclevel.debug, " アップロードファイル処理に失敗しました ", e); throw new ModelLogicException(e, " アップロードファイル処理に失敗しました ","ERROR_CODE_FILE"); } ~ 以降の処理 記述省略 ~ 13

4.5.2.2 ダウンロードファイル情報を返却するための処理を実装する例 public IFDataTypeTextOutput fileuploaddownload(isessionhandle handle, IFDataTypeTextInput ifdatatypetextinput, IBPMContext context) { ILogger logger = this.getlogger(); // ダウンロードファイル情報を作成 IDownloadFileContents downloadfile = context.createdownloadfilecontents(); OutputStream output = downloadfile.getoutputstream(); output.write(" ファイルダウンロードのサンプル ".getbytes()); // コンテンツ種別を設定 downloadfile.setcontenttype("text/plain"); // ファイル名を設定 ( ファイル名はサーバのデフォルトエンコードで URLEncode されます ) downloadfile.setfilename(" ダウンロード用試験ファイル.txt"); ~ 以降の処理 記述省略 ~ IBPMContext をパラメータに設定します パラメータの位置は ISessionHandle を除き SimpleEventFlow 定義の編集で設定したパラメータの順となります ダウンロードファイル情報を作成します ダウンロードファイル情報を作成した場合 http レスポンスはファイル情報を返却します } 取得したストリームにファイルの中身を書き込みます フレームワークがクローズ処理を行うため 業務処理では特にクローズする必要はありません 14