文字列 - ファイル

最終更新日: 2020年7月3日
R8 | R9

例と定義方法

ファイル項目を指定すると図1のような入力欄が用意されます。

図1 ファイル項目の入力欄

"ファイルを選択" ボタンへファイルをドラッグ&ドロップして登録することができます。

図2 画像をドラッグ&ドロップした

詳細表示画面では図3のようにイメージが表示されます。

図3 画像を登録した

WordやExcelといった非画像ファイルを登録することもできます。詳細表示画面では図4のようにアイコンが表示されます。

図4 Word文書を登録した

ワンポイント

アイコンをクリックすると、そのファイルをダウンロードすることができます。

定義方法

文字列型項目の型詳細設定で "ファイル型" を選択します。

図5 ファイル型の指定

検索

ファイル名の検索

"ファイル名" 型の項目を検索条件とした場合、ファイル名が検索対象となります。文字列型として扱われるため部分一致、前方一致といった検索方法を指定することもできます。

ファイルの内容を検索する

Word,Excel,PowerPoint,PDFといったファイルの内容を検索することもできます。 詳細は"全文検索"をお読みください。

繰り返しコンテナ内のファイル項目

繰り返しコンテナ内のファイル項目は、複数ファイルを一括でドラッグ&ドロップして登録することができます。ボタン名が "複数ファイルを選択" となっています。

図6 複数ファイルを選択するボタンが用意される

2つのファイルをドラッグ&ドロップした状態です。

図7 2つのファイルをドラッグ&ドロップした

保存ボタンを押下すると、繰り返しコンテナ部分に2レコードが登録されます。つまり、1ファイル毎に1レコードとなって登録されます。

図8 1ファイル毎に1レコードとなって登録された

仕様

Wagbyのファイル型は、次のような動作になります。

基本

  • Word,Excel,PowerPoint,PDF,CADデータ,画像など、どのようなファイルも登録できます。
  • 登録できるファイルサイズの上限はありません。
  • 画像ファイル (拡張子 gif, jpg, png など) を登録すると、画面上で閲覧できるようになります。表示サイズを指定することもできます。
  • その他のファイル (拡張子 doc, xls, zip など) を登録すると、画面上ではアイコンとして表示されます。アイコンをクリックすることでデータをダウンロードすることができます。
  • 新規登録・更新画面の処理は、Web ブラウザが提供するユーザーインタフェースに従います。一般的には、ダイアログボックスを使ってファイルを選択し、送信(アップロード)する方式となっています。
  • 画面上に用意された "クリア" ボタンをクリック(クリック後、入力欄が空の状態で保存)することでアップロードしたファイル名を消去することができます。
  • 日本語のファイル名にも対応しています。
  • ファイル名にスラッシュ "/"を利用することはできません。
  • ファイル型項目をダウンロードして保存する場合、IE/Edge は保存ダイアログに元のファイル名が反映されません。代案として、詳細表示画面に用意されたファイル名リンクを右クリックして「対象をファイルに保存」を選択する操作を行なってください。

ドラッグ&ドロップの動作

ブラウザによって挙動が異なります。

ブラウザ 複数ファイルアップロード ドラッグ&ドロップ操作 バッググラウンドアップロード
Google Chrome
Firefox
IE 11
Edge -

ウィルスチェックソフトへの除外フォルダ指定

ファイルサイズが大きい場合、ダウンロード時にウィルススキャンチェックに時間がかかることがあります。圧縮されたファイルであれば展開後にチェックするため、より時間がかかります。

これが問題になる場合、アンチウィルスソフトに、ダウンロードファイルを格納するフォルダを除外する指定を行うという回避策があります。 例えば Windows ディフェンダーをご利用の場合は、以下のページを参考にしてください。

Windows セキュリティに除外を追加する
https://support.microsoft.com/ja-jp/help/4028485/windows-10-add-an-exclusion-to-windows-security

ご注意ください。この対応はセキュリティレベルを低下させます。社内のネットワークポリシーを規定している担当者と相談することを推奨します。

制約

  • R8.3.1までの Wagby では、ファイル型項目のダウンロード時、ファイル名に日本語を含んだファイルをダウンロードすると Firefox ブラウザでファイル名を正しく扱うことができません。
  • ドラッグ&ドロップで複数ファイルをアップロードした時、繰り返しコンテナが複数行生成されますが、このとき繰り返しコンテナの初期値の設定は行われません。

保存ファイル名の扱い

アップロードしたファイルの実体は upload_dir フォルダに格納されます。ファイル名は内部で機械的に変更され、拡張子は ".tmp"となります。

"画面 > その他 > ファイル名型項目の制御" の "サーバに保存される実ファイル名" を指定することで、このルールを次の3種類から選択することができます。

図9 ファイル保存の設定
(空白時)
ファイル名は機械的に付与されます。拡張子は .tmp となります。(標準)
ファイル名はユニーク、拡張子は維持
ファイル名は機械的に付与されますが、拡張子はアップロードしたファイルを踏襲します。
オリジナルファイル名をそのまま使う
ファイル名、拡張子ともアップロードしたファイルと同じものを使います。

ファイルの削除ポリシー

ファイルの削除処理を行なった場合、データベースからファイル名の情報は削除されますが、ファイルの実体は残っています。ファイル名にオリジナルファイル名をそのまま使う設定を行っていた場合、同名のファイルをアップロードすることで上書きされます。

ファイルの実体を削除する方法を別途、用意しています。

画像の幅、高さを指定する

詳細表示画面と一覧表示画面でそれぞれ、画像の幅と高さを指定することができます。(図10,図11)

図10 詳細表示画面の画像サイズを幅32ピクセルとした
図11 一覧表示画面の画像サイズを幅32ピクセルとした

定義方法

  1. モデル項目の詳細定義ダイアログを開き、「出力制御」タブを選択します。
    下にスクロールすると、「ファイル」という設定があります。
    図12 モデル項目の出力制御設定を開く
  2. 詳細画面、一覧画面それぞれのタブに表示される「画像のサイズ」を指定します。単位はピクセルまたは%で指定します。
    幅と高さの両方を指定できます。
    いずれか片方のみを指定した場合、もう一方のは元のサイズの縦横比を維持して自動調整されます。
    図13 詳細画面の画像サイズ幅を32pxに指定
    図14 一覧画面の画像サイズ幅を32pxに指定

ファイル名を非表示にする

ファイル名を非表示にすることができます。

図15 ファイル名を非表示にする

定義方法

モデル項目詳細定義の出力制御タブを選択します。詳細画面と一覧画面のタブにある "ファイル名(URL)を表示する" のチェックをはずします。(標準ではチェックされています。)

図16 ファイル名を表示する、のチェックをはずす

ファイルへのリンクを無効にする

ファイルのアイコンをクリックすると、そのファイルをダウンロードできるという機能を無効にすることができます。
図16は、アイコンをクリックしてもファイルがダウンロードされません。

図17 ファイルアイコンをクリックしてもダウンロードされない

定義方法

モデル項目詳細定義の出力制御タブを選択します。詳細画面と一覧画面のタブにある "ファイル名(URL)リンクを有効にする" のチェックをはずします。(標準ではチェックされています。)

図18 詳細画面の定義
図19 一覧画面の定義

画像ファイルをダイアログで表示する8.1.2

"出力制御 > 詳細画面 > ファイル" の設定で "画像をダイアログで表示する" を指定することができます。

図20 画像をダイアログで表示する設定を有効にする

詳細画面で画像をクリックすると、図21のようにダイアログに表示されます。

図21 画像をダイアログで表示する(1)
図22 画像をダイアログで表示する(2)

この設定を行わない場合、画像をクリックすると別タブが開き、そのタブに画像が表示されます。

設定時の注意点

この設定を有効にする場合、モデルの詳細表示画面を作成する必要があります。

更新、コピー登録画面の対応8.2.0

詳細画面だけでなく更新、コピー登録画面でも画像がダイアログで表示されます。

表示比率の設定8.2.0

画像サイズの設定欄に用意された "単位" を指定できます。パーセントを単位とすると、表示比率を設定することができます。

アップロードできるファイルに制約を設ける

ファイルサイズを指定する

標準ではアップロードするファイルサイズの制限はありません。設定により、ファイルの最小サイズおよび最大サイズを指定することができます。単位は "バイト" です。

巨大なファイルをアップロードすると時間がかかります。最大サイズを設定することで、無制限のアップロードを防ぐことができます。
図23 ファイルサイズを1メガバイトから100メガバイトの範囲とする

指定サイズに満たない、または指定サイズを超えた場合は図23のようなエラーメッセージが表示されます。

図24 サイズエラー

ワンポイント

サイズを指定する場合、"K" や "M" での指定も行えます。(大文字小文字は区別しません。) 1Kは1024バイト、1Mは1024Kバイトです。

重要

サイズ指定の数値は、整数型のみ使用できます。小数点は使用できません。

ファイル拡張子を指定する

アップロードするファイルの拡張子を指定することができます。複数個の場合はコンマ "," で区切ります。

図25 ファイル拡張子がpngとjpgのみを許容する

許容されるファイル拡張子でない場合、図25のようなエラーメッセージが表示されます。

図26 拡張子エラー

ワンポイント

上記例では PNG と JPG も許容されます。大文字小文字は区別しません。

アップロードの保存先フォルダを変更する

物理ファイルの保存先をモデル毎に指定することができます。

ダウンロード時のログ

ファイル型項目で登録されたファイルをクリックしてダウンロードしたとき、ログが出力されます。

2016-xx-xx 00:01:02 [INFO wagbyDownload2 _jspService] (admin) Download test.xls
  • 画像ファイルの場合、ログは出力されません。(ファイル拡張子が jpg/jpeg/png/gif/bmp の場合、画像ファイルと解釈します。)
  • ファイルをクリックすると、ダウンロードを行うかどうかを確認するためのダイアログが表示されることがあります。その時点でログは出力されています。そのため(ダウンロードを)キャンセルしても、ログ上ではダウンロードした、と記録されます。
  • ダウンロードではなく、指定したアプリケーションで開いた場合でも、ログ上ではダウンロードした、と記録されます。

テキストファイルの文字エンコーディング指定

MIME タイプのタイプ名が text の場合(テキストファイルやHTMLファイルなど)、文字エンコーディングは "utf-8" が標準となります。

"環境 > アプリケーション > 初期パラメータ > ダウンロードファイルの文字エンコーディング" を指定して、標準の文字エンコーディングを変更することもできます。これはプロジェクト全体で統一されます。

図27 ダウンロードファイルの文字エンコーディング

ファイルダウンロードのセキュリティ

ファイル型項目では、Webフォームからアップロードされた物理ファイルは OS のフォルダ内に管理されます。Webブラウザ (Wagby アプリケーション) でリンクをクリックするとファイルをダウンロードすることができます。

これはセキュリティ上の懸念はないでしょうか。ファイルの格納場所(フォルダのパス)を第三者に知られてしまうと不正なダウンロードにつながる可能性を心配されるかも知れません。結論からいうと、このようなことが生じないよう、すでに対策済みです。

  • ファイルダウンロードのURLに含まれるパスは一時的なものです。具体的には、ログオンしているユーザのログオン中のみ有効となっています。このため、このURLをコピーして別ユーザが再利用することはできないようになっています。(仮にそのような操作をしても無視されます。)
  • いったんログアウトして再ログオンすると、パスの表記が変わります。
  • このパスは実ファイルのパスを指していません。実ファイルのありかを知ることはできないようになっています。