org.opengion.hayabusa.servlet

## クラス MultipartRequest

- java.lang.Object
- - org.opengion.hayabusa.servlet.MultipartRequest

-     public final class MultipartRequest
      extends java.lang.Object

  ファイルをサーバーにアップロードする場合に使用されるマルチパート処理サーブレットです。 通常のファイルアップロード時の、form で使用する、enctype="multipart/form-data" を指定した場合の、他のリクエスト情報も、取り出すことが可能です。 ファイルをアップロード後に、指定のファイル名に変更する機能があります。 file 登録ダイアログで指定した name に、"_NEW" という名称を付けたリクエスト値を ファイルのアップロードと同時に送信することで、この名前にファイルを付け替えます。 また、アップロード後のファイル名は、name 指定の名称で、取り出せます。 クライアントから登録したオリジナルのファイル名は、name に、"_ORG" という名称 で取り出すことが可能です。 maxPostSize : 最大転送サイズ(Byte)を指定します。 0,またはマイナスで無制限です。 useBackup : ファイルアップロード時に、すでに同名のファイルが存在した場合に、 バックアップ処理(renameTo)するかどうか[true/false]を指定します(初期値:false) ファイルアップロード時に、アップロード先に、同名のファイルが存在した場合は、既存機能は、そのまま 置き換えていましたが、簡易バージョンアップ機能として、useBackup="true" を指定すると、既存のファイルを リネームして、バックアップファイルを作成します。 バックアップファイルは、アップロードフォルダを基準として、_backup/ファイル名.拡張子_処理時刻のlong値.拡張子 になります。 オリジナルのファイル名（拡張子付）を残したまま、"_処理時刻のlong値" を追加し、さらに、オリジナルの拡張子を追加します。 バックアップファイルの形式は指定できません。
  変更履歴:

    5.10.9.0 (2019/03/01) oota クラウドストレージ対応を追加。(Fileクラスを拡張)

  機能分類
    その他機能
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `MultipartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String saveDirectory, int maxPostSize, java.lang.String encoding, java.lang.String inputFilename, boolean useBackup, java.lang.String fileURL, java.lang.String storageType, java.lang.String bucketName)` MultipartRequest オブジェクトを構築します。

  - ### メソッドのサマリー

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int[]` | `getIntParameters(java.lang.String name)` 指定の名前のリクエストパラメータの値を配列(int)型式で取得します。
    `java.lang.String` | `getParameter(java.lang.String name)` 指定の名前のリクエストパラメータの値を取得します。
    `java.lang.String[]` | `getParameterNames()` リクエストパラメータの名前配列を取得します。
    `java.lang.String[]` | `getParameters(java.lang.String name)` 指定の名前のリクエストパラメータの値を配列型式で取得します。
    `UploadedFile[]` | `getUploadedFile()` ファイルアップロードされたファイル群のファイル配列を取得します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### MultipartRequest

          public MultipartRequest(javax.servlet.http.HttpServletRequest request,
                          java.lang.String saveDirectory,
                          int maxPostSize,
                          java.lang.String encoding,
                          java.lang.String inputFilename,
                          boolean useBackup,
                          java.lang.String fileURL,
                          java.lang.String storageType,
                          java.lang.String bucketName)
                           throws java.io.IOException

      MultipartRequest オブジェクトを構築します。 引数として、ファイルアップロード時の保存フォルダ、最大サイズ、エンコード、 新しいファイル名などを指定できます。新しいファイル名は、アップロードされる ファイルが一つだけの場合に使用できます。複数のファイルを同時に変更したい 場合は、アップロードルールにのっとり、リクエストパラメータで指定してください。 HTML5 では、ファイルアップロード時に、multiple 属性（inputタグのtype="file"）を 付ける事で、ファイルを複数選択できます。 その場合は、inputのname属性は、一つなので、_NEW による名前の書き換えはできません。
      パラメータ:
        `request` - HttpServletRequestオブジェクト
        `saveDirectory` - ファイルアップロードがあった場合の保存フォルダ名
        `maxPostSize` - ファイルアップロード時の最大ファイルサイズ(Byte)0,またはマイナスで無制限
        `encoding` - ファイルのエンコード
        `inputFilename` - アップロードされたファイルの新しい名前
        `useBackup` - ファイルアップロード時に、バックアップ処理するかどうか[true/false]を指定
        `fileURL` - クラウドストレージ用のURL
        `storageType` - クラウドストレージのタイプ(plugin)
        `bucketName` - クラウドストレージのバケット名
      例外:
        `java.io.IOException` - 入出力エラーが発生したとき
      変更履歴:

        3.8.1.3A (2006/01/30) 新ファイル名にオリジナルファイル名の拡張子をセットします
        4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。
        5.5.2.6 (2012/05/25) findbugs対応。staticフィールドへの書き込みに、AtomicInteger を利用します。
        5.6.5.3 (2013/06/28) useBackup引数追加
        5.7.1.1 (2013/12/13) HTML5 ファイルアップロードの複数選択（multiple）対応
        5.7.4.3 (2014/03/28) inputFilename のリクエスト変数処理追加
        5.9.25.0 (2017/10/06) ｸﾗｳﾄﾞｽﾄﾚｰｼﾞ利用処理追加
        5.10.9.0 (2019/03/01) クラウドストレージ対応を追加。

  - ### メソッドの詳細

    - #### getParameterNames

          public java.lang.String[] getParameterNames()

      リクエストパラメータの名前配列を取得します。
      戻り値:
        リクエストパラメータの名前配列

    - #### getUploadedFile

          public UploadedFile[] getUploadedFile()

      ファイルアップロードされたファイル群のファイル配列を取得します。
      戻り値:
        アップロードされたファイル群
      変更履歴:

        5.7.1.1 (2013/12/13) HTML5 ファイルアップロードの複数選択（multiple）対応

    - #### getParameter

          public java.lang.String getParameter(java.lang.String name)

      指定の名前のリクエストパラメータの値を取得します。 複数存在する場合は、一番最後の値を返します。
      パラメータ:
        `name` - リクエストパラメータ名
      戻り値:
        パラメータの値

    - #### getParameters

          public java.lang.String[] getParameters(java.lang.String name)

      指定の名前のリクエストパラメータの値を配列型式で取得します。
      パラメータ:
        `name` - リクエストパラメータ名
      戻り値:
        パラメータの値配列
      変更履歴:

        5.3.2.0 (2011/02/01) 新規作成

    - #### getIntParameters

          public int[] getIntParameters(java.lang.String name)

      指定の名前のリクエストパラメータの値を配列(int)型式で取得します。
      パラメータ:
        `name` - リクエストパラメータ名
      戻り値:
        パラメータの値配列
      変更履歴:

        5.3.2.0 (2011/02/01) 新規作成
        5.3.6.0 (2011/06/01) 配列値が""の場合にNumberFormatExceptionが発生するバグを修正

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.