クラス FileUploadTag

  • すべての実装されたインタフェース:
    Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class FileUploadTag
    extends CommonTagSupport
    クライアントのファイルをサーバーにアップロードするタグです。 アップロード後の属性は、DBTableModel に格納することにより、通常のデータと 同様の取り出し方が可能です。 また、通常のファイルアップロード時の、form で使用する、enctype="multipart/form-data" を指定した場合の、他のリクエスト情報も、{@XXXX} 変数で取り出すことが可能です。 この upload タグでは、アップロード後に、指定のファイル名に変更する機能があります。 file 登録ダイアログで指定した name に、"_NEW" という名称を付けたリクエスト値を ファイルのアップロードと同時に送信することで、この名前にファイルを付け替えます。 また、アップロード後のファイル名は、name 指定の名称で、取り出せます。 クライアントから登録したオリジナルのファイル名は、name に、"_ORG" という名称 で取り出すことが可能です。 通常では、これらのパラメータを、RequestAttribute 変数にセットしますので、{@XXXX}で 取り出すことが可能になります。さらに、"KEY","VALUE","ISFILE" のカラムを持った、 DBTableModel にセットします。 新機能として、columns を指定する事で、columns のカラムを持つ DBTableModel にセットします。 その場合は、カラム名_01 ~ カラム名_99 のように、アンダーバーで列データとなるキーを定義してください。 アンダーバーがない場合は、カラムだけ作成されます。カラム名と同じリクエストがあれば、 すべてのレコードに同じ値がセットされます。 新ファイル名に拡張子が設定されていない場合は、オリジナルファイル名の拡張子をセットします。 HTML5 の type="file" 時の multiple 属性(アップロードファイルの複数選択機能)に対応します。(5.7.1.1 (2013/12/13)) その場合は、新しいファイル名への変更はできません。オリジナルのファイル名でアップロードされます 5.7.1.2 (2013/12/20) zip 対応 filename 属性に、".zip" の拡張子のファイル名を指定した場合は、アップロードされた一連のファイルを ZIP圧縮します。これは、アップロード後の処理になります。 ZIP圧縮のオリジナルファイルは、そのまま残ります。 なお、ZIPファイルは、useBackup属性を true に設定しても、無関係に、上書きされます。 5.7.4.3 (2014/03/28) filename 属性のリクエスト変数対応 filename 属性のみ、{@XXXX} のリクエスト変数が使えるようにします。 他のパラメータでは使えません。 これは、multipart/form-data のリクエストでは、パートの分解処理をしないと、リクエスト変数が 拾えない為、リクエスト変数は、この、upload タグ以降でのみ利用可能でした。 zip対応と関連付けて、filename 属性のみ、利用できるように、MultipartRequest 側の処理に組み込みます。 5.7.6.3 (2014/05/23) アップロードファイルのCSVセット 個々に指定したアップロードファイル名は、XXX_NEW や XXX_ORG で取得できますが、 HTML5 の multiple 属性使用時や、アップロードされたファイルを一連で処理したい場合に ファイル名を、CSV形式で取り出せるようにします。 キーは、共通で、UPLOAD_FILES とします。 6.0.2.4 (2014/10/17) ① name + _NEW と同じ考え方で、_PFX(接頭辞) , _SFX(接尾辞) 機能を追加します。 ② 上記機能は、_NEW との併用可能。_NEW がない場合は、オリジナル(アップロードされた元のファイル名)に付与 ③ useBackup="rename" で、すでに同名のファイルが存在した場合に、"_001" のような文字列を追加したファイルにリネームします。 Windowsの " - コピー (2)" に近いですが、桁数を抑えるのと、useBackup="true" と異なり、過去の同一ファイル名は そのまま、有効になります。同一ファイルが同一フォルダに存在する場合のみ連番が付与されます。 ④ name + _NEW の指定に、フォルダを含めることが可能。ただし、接続文字列は、"/" とする。 同時にアップロードを行う場合に、個別にフォルダを振り分けたり、_PFX(接頭辞) に、フォルダを指定 することも可能です。 ⑤ 最大転送サイズ(Byte)を 10M → 30M に変更 5.9.25.0 (2017/10/06) クラウド上のPaaSでオブジェクトストレージを利用する際は以下のシステムリソースを設定してください。 CLOUD_STORAGE,CLOUD_STORAGE_CONTAINER plugin/cloud内のクラスを利用してファイルアップロード(FileUploadタグ)、ダウンロード(FileDownloadサーブレット)をAPI経由で行います。 プラグインが利用するjarファイルの配置は必要です。
    関連項目:
    直列化された形式
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • FileUploadTag

        public FileUploadTag()
        デフォルトコンストラクター
    • メソッドの詳細

      • doEndTag

        public int doEndTag()
        Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
        定義:
        doEndTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doEndTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示
      • release2

        protected void release2()
        タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
        オーバーライド:
        release2 クラス内 CommonTagSupport
      • setFileURL

        public void setFileURL​(String url)
        【TAG】ファイルをアップロードするディレクトリを指定します (初期値:FILE_URL[=])。
        パラメータ:
        url - ファイルURL
        関連項目:
        SystemData.FILE_URL
      • setMaxPostSize

        public void setMaxPostSize​(String maxPS)
        【TAG】最大転送サイズ(Byte)を指定します(初期値:31457280)。
        パラメータ:
        maxPS - 最大転送サイズ
      • setTableId

        public void setTableId​(String id)
        【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
        パラメータ:
        id - テーブルID (sessionに登録する時のID)
      • setFilename

        public void setFilename​(String fname)
        【TAG】(通常は使いません)ファイルを作成するときのファイル名をセットします(初期値:null)。
        パラメータ:
        fname - ファイル名
      • setColumns

        public void setColumns​(String clms)
        【TAG】DBTableModel作成時に、指定のカラムの"_01"~"_99"の添え字をレコードとして作成します。
        パラメータ:
        clms - DBTableModel作成時のカラム列(CSV形式)
      • setUseBackup

        public void setUseBackup​(String flag)
        【TAG】すでに同名のファイルが存在した場合に、バックアップ処理するかどうか[true/false/rename]を指定します(初期値:null=false)。
        パラメータ:
        flag - バックアップ処理可否 [true:する/false:しない]
      • toString

        public String toString()
        このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
        オーバーライド:
        toString クラス内 CommonTagSupport
        戻り値:
        このクラスの文字列表現