バイナリファイル読取 初版 2006/09/01 新規作成 Page 1 目 次 1 2 プロジェクト概要 ソフトウエア 2.1 対象NXJバージョン 2.2 アプリケーションサーバ 2.3 使用プロジェクト 3 実行環境設定手順 3.1 プロパティ設定 3.2 データベース接続設定 3.3 データベーステーブル作成 3.4 プロジェクトをMake 4 機能解説 4.1 Sample1 フォーム 4.1.1 BEFORE FORMセクション 4.1.2 GetImage開発者定義コマンド 4.2 ImageFileクラス 4.2.1 directoryList()メソッド 4.2.2 getImage()メソッド 4.3 Sample2 フォーム 4.3.1 ファイル選択コントロール 4.3.2 イメージコントロール 4.4 Sample3 フォーム 4.4.1 ファイル選択コントロール 5 実行手順 5.1 アプリケーションサーバの起動 5.2 プロジェクトの配備及び実行 付録A DataServer Connection設定例 付録B Oracle Connection設定例 付録C ツールバー 実行ボタン 付録D ツールバー 実行ボタン フォームリスト表示 Page 2 1 プロジェクト概要 イメージファイル(JPG) をローカルディスクより読み取りフォームに表示するフォームや、アップロードし たアーカイブファイル(ZIP)ファイルをデータベーステーブルに格納するフォーム集です。 Page 3 2 ソフトウエア 2.1 対象 NXJ バージョン NXJ 10.5DA 以降 2.2 アプリケーションサーバ JBoss アプリケーションサーバ (NXJ バンドル版) 2.3 使用プロジェクト プロジェクト名称 BinaryFileRead [プロジェクト構成] BinaryFileRead.prj sources フォルダ images フォルダ uploadFiles フォルダ プロジェクト設定ファイル NXJ 開発ソースファイル格納フォルダ アップロード用イメージファイル格納フォルダ アップロード用テキストファイル格納フォルダ 以下のフォルダは、Make を実行時に作成されるフォルダです。 output フォルダ J2EE アプリケーションアーカイブファイル格納フォルダ temp フォルダ 一時ファイル格納フォルダ プロジェクトは、NXJ アプリケーションデザイナを使ってプロジェクト設定ファイルを開きます。 Page 4 3 実行環境設定手順 プロジェクトを Make&配備し、フォームを実行する前の設定及び確認項目を以下に示しています。 NXJ アプリケーションデザイナは、Windows スタートメニューから、 [プログラム]->[Unify NXJ]->[アプリケーションデザイナ]を選択することで起動します。 3.1 プロパティ設定 NXJ アプリケーションデザイナを起動し、 プロジェクトの Static Content/application.properties ファイルにある DOCDIR にイメージファイル が格納されているフォルダのフルパスを指定します。 パスのセパレータは、¥¥ を使用します。 イメージファイルは、プロジェクトフォルダの images フォルダに格納されています。 [例] プロジェクトが、C:¥Unify¥BinaryFileRead フォルダにある場合 DOCDIR= C:¥¥Unify¥¥BinaryFileRead¥¥images 3.2 データベース接続設定 このプロジェクトの Connections に作成している DataServer, Oracle Connection を設定してデータ ベース接続を確認します。 DataServer Oracle Unify DataServer データベース接続用 Connection 定義 Oracle データベース接続用 Connection 定義 [例] DataServer Connection を利用する場合 DataServer Connection を開いて、以下の情報を入力します。 タイプ DataServer になっていることを確認します。 Jar/Zip ファイル SimbaJDBC.jar ファイルが選択されていることを確認します。 ユーザ名 DataServer データベースに接続するユーザ名を指定します。 パスワード ユーザ名に対するパスワードを指定します。 実行時のデータソース DataServer になっていることを確認します。 ホスト DataServer データベースサーバのホスト名を指定します。 ポート DataServer データベースがリスンしているポート番号を指定します。 DNS 接続するデータベースの DNS を指定します。 このコネクションをデフォルトにする チェックボックスをチェックします。 上記設定を行った後、テストボタンをクリックして接続が成功することを確認し、OK ボタンをクリ ックして設定を終了します。 [参照] 付録A DataServer Connection設定例 Page 5 [例] Oracle Connection を利用する場合 Oracle Connection を開いて、以下の情報を入力します。 タイプ Oracle になっていることを確認します。 Jar/Zip ファイル ojdbc14.jar ファイルが選択されていることを確認します。 ユーザ名 Oracle データベースに接続するユーザ名を指定します。 パスワード ユーザ名に対するパスワードを指定します。 実行時のデータソース Oracle になっていることを確認します。 ホスト Oracle データベースサーバのホスト名を指定します。 ポート Oracle データベースがリスンしているポート番号を指定します。 SID 接続するデータベースの SID を指定します。 このコネクションをデフォルトにする チェックボックスをチェックします。 上記設定を行った後、テストボタンをクリックして接続が成功することを確認し、OK ボタンをクリ ックして設定を終了します。 [参照] 付録B Oracle Connection設定例 Page 6 3.3 データベーステーブル作成 プロジェクトの databases フォルダにあるスクリプトを使ってデータベーステーブルとテストデータ を作成します。 [例] DataServer Connection を使用する場合 DataServer.sql スクリプトにあるテーブルとテストデータを作成します。 [例] Oracle Connection を使用する場合 Oracle.sql スクリプトにあるテーブルとテストデータを作成します。 3.4 プロジェクトを Make NXJ アプリケーションデザイナのメニューバーから[プロジェクト]->[すべて Make]を選択し、プロジ ェクトを Make し、エラー無く終了することを確認しておきます。 Make を実行するとプロジェクトから J2EE アプリケーションアーカイブファイルの EAR または、 ZIP ファイルを生成します。 ここで作成されたアーカイブファイルが、アプリケーションサーバに配備されます。 Page 7 4 機能解説 サーバマシン上にあるイメージファイルをアプリケーションに取り込むフォームや、クライアントサイドに あるファイルをデータベーステーブルに格納するフォームです。 4.1 Sample1 フォーム このフォームは、サーバマシン上に格納されているイメージファイルをリストし、選択したイメージフ ァイルをフォーム上に読み込み、データビューの選択セットに格納しています。 4.1.1 BEFORE FORM セクション このセクションで、application.properties ファイルのプロパティ DOCDIR に指定されているイメ ージファイルの場所を特定しています。 そのフォルダにあるファイル一覧をフォームの繰返し領域に表示します。 4.1.2 GetImage 開発者定義コマンド フォームのイメージファイルリストで選択されているイメージファイルをフォルダから読み込み、 データビューの選択セットに格納しています。 4.2 ImageFile クラス パッケージ util このクラスは、フォルダにあるファイル名の一覧と指定したイメージファイルを読み取るメソッドです。 4.2.1 directoryList()メソッド このメソッドは、指定したフォルダに格納されているファイル名を格納した String 配列を返しま す。 [メソッド構文] public static String[] directoryList (String dir) ●引数 dir ファイル名の一覧を獲得するフォルダへのパス ●戻り値 指定されたフォルダのファイル名を格納した配列 [例] C:¥temp のファイル名リストを獲得 String[] buf = ImageFile. directoryList (“C:¥¥temp”) Page 8 4.2.2 getImage()メソッド このメソッドは、指定したイメージファイルを引数で指定された NXJ フィールドにセットします。 [メソッド構文] public void getImage( String img, String path, String mime, NullableBinaryVariable imageFld ) ●引数 img path mime imageFld 読み込むイメージファイル名 イメージファイル格納ディレクトリパス 読み込むファイルの mime タイプ セットする NXJ フィールド名 ●戻り値 指定されたフォルダのファイル名を格納した配列 [例] view1 の img にセット new ImageFile().getImage(fileName, docDir, "jpg", view1.img); Page 9 4.3 Sample2 フォーム このフォームは、拡張子 png を持つイメージファイルをアップロードし、そのイメージファイルをフ ォームに表示しています。 png の拡張子を持つファイルのみアップロードするように、ファイル選択コントロールの Interactive/Allowed Mime Types プロパティに mime type を指定することで制限しています。 4.3.1 ファイル選択コントロール このコントロールを使用し、ファイルアップロードを行っています。 (1) Interactive/Storage Variable プロパティ このプロパティに NullableBinaryVariable データ型の変数(UpImage)をセットしています。 アップロードした png ファイルの内容は、ここに格納されます。 (2) Interactive/Allowed Mime Types プロパティ 特定の拡張子を持つファイルだけアップロードを行うような制限を行う場合にこのプロパティ にアップロードしたいファイルの mime type を指定します。 ここでは、image/x-png を指定することで、拡張子 png をもつファイルのみアップロードす るようにしています。 4.3.2 イメージコントロール アップロードした png ファイルをフォームに表示するコントロールです。 このイメージコントロールの Visual/Source プロパティに 4.3.1 ファイル選択コントロールでアッ プロードしたファイルを格納している変数を指定することで表示しています。 (1) Visual/Source プロパティ このプロパティに、UpImage を 設定することで png イメージファイルがフォーム上に表示 されます。 このプロパティにイメージファイルデータを格納している変数への動的参照で設定しています。 [例] Visual/Source プロパティ設定例 =&UpImage [備考] イメージファイルへの動的参照設定は、=&<form>:UpImage で設定することも出来ます。 Page 10 4.4 Sample3 フォーム このフォームは、拡張子 zip を持つイバイナリファイルをアップロードし、そのファイルをデータベー ステーブルに格納しています。 zip の拡張子を持つファイルのみアップロードするように、ファイル選択コントロールの Interactive/Allowed Mime Types プロパティに mime type を指定することで制限しています。 4.4.1 ファイル選択コントロール このコントロールを使用し、ファイルアップロードを行っています。 (1) Interactive/Storage Variable プロパティ このプロパティに NullableBinary データ型の変数(UpZip)をセットしています。 アップロードした zip ファイルの内容は、ここに格納されます。 (2) Interactive/Allowed Mime Types プロパティ 特定の拡張子を持つファイルだけアップロードを行うような制限を行う場合にこのプロパティ にアップロードしたいファイルの mime type を指定します。 ここでは、application/x-zip-compressed を指定することで、拡張子 zip をもつファイルのみ アップロードするようにしています。 (3) WHEN UPLOAD COMPLETE メソッド このメソッドは、zip ファイルのアップロードが完了した時点で、ZIP_FILE テーブルにアッ プロードしたファイルデータを挿入しています。 Page 11 5 実行手順 プロジェクトの実行手順を説明します。 ここでは、NXJ アプリケーションデザイナがインストールされたマシンに構成されている JBoss アプリケー ションサーバを使用した手順で説明します。 5.1 アプリケーションサーバの起動 JBoss アプリケーションサーバを Windows サービスまたは、run.bat スクリプトを利用して起動しま す。 [Windows サービスによる起動] (1) Windows サービスを表示します。 (2) Windows サービスパネルから Unify NXJ Development Server を開始します。 [run.bat スクリプトによる起動] (1) Windows コマンドプロンプトを実行します。 (2) Unify NXJ をインストールしたフォルダの jboss¥bin フォルダに移動します。 (3) run.bat バッチファイルを実行します。 JBoss アプリケーションサーバが実行されたことを確認しておきます。 Page 12 5.2 プロジェクトの配備及び実行 プロジェクトをアプリケーションサーバに配備し、実行する手順を説明します。 (1) NXJ アプリケーションデザイナの起動 Windows スタートメニューから [プログラム]->[Unify NXJ]->[アプリケーションデザイナ]を選択 します。 (2) プロジェクトを開く NXJ アプリケーションデザイナのメニューバーから [ファイル]->[プロジェクトを開く]を選択し、BinaryFileRead.prj ファイルを選択します。 (3) 実行 NXJ アプリケーションデザイナの実行ツールバーをクリックまたは、実行ツールバーの▼をクリッ クしてフォームリストからフォームを選択して実行します。 NXJ アプリケーションデザイナが、JBoss アプリケーションサーバにプロジェクトを配備し、ブラ ウザを立ち上げてフォームを表示します。 [参照] 付録C ツールバー 実行ボタン 付録D ツールバー 実行ボタン フォームリスト表示 [備考1] NXJ アプリケーションデザイナは、Make されていないプロジェクトに対して配備または、実行コ マンドが選択された場合には、自動的に Make を実行し、正常終了した後にプロジェクトをアプリ ケーションサーバへ配備を実行します。 [備考2] NXJ リリース 11.5 は、ツールバー実行ボタンをクリックすると、プロジェクトプロパティの全般 パネルの デフォルトエントリポイント に指定されているフォームが実行されます。 Page 13 付録 A DataServer Connection 設定例 ユーザ administrator ホスト senna ポート 1583 DNS senna_ds82 Page 14 付録 B Oracle Connection 設定例 ユーザ honda ホスト senna ポート 1521 SID ora92 Page 15 付録 C ツールバー 実行ボタン 付録 D ツールバー 実行ボタン フォームリスト表示 Page 16
© Copyright 2024 Paperzz