クラス FileDownload

  • すべての実装されたインタフェース:
    Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    @WebServlet("/jsp/fileDownload")
    public class FileDownload
    extends javax.servlet.http.HttpServlet
    サーバー管理ファイルをダウンロードする場合に使用する、サーブレットです。 引数(URL)に指定のファイルをサーバーからクライアントにダウンロードさせます。 file には、サーバーファイルの物理アドレスを指定します。相対パスを使用する場合は、 コンテキストルート(通常、Tomcatでは、G:\webapps\dbdef2\ など)からのパスと判断します。 name には、クライアントに送信するファイル名を指定します。ファイル名を指定しない場合は、 サーバーの物理ファイルのファイル名が代わりに使用されます。 日本語ファイル名は、すべて UTF-8化して処理します。指定するファイルに日本語が含まれる 場合は、URLエンコードを行ってください。変換前エンコードはリクエスト変数requestEncodingで指定可能で、標準はISO-8859-1です。 基本的にはContent-disposition属性として"attachment"が指定されます。 但し、引数に inline=true を指定することで、Content-disposition属性に"inline"が指定されます。 また、システムリソースのUSE_FILEDOWNLOAD_CHECKKEYをtrueに指定することで、簡易的なチェックを 行うことができます。 具体的には、これを有効にすると、file属性の値から計算されるMD5チェックサムと、"key"という パラメーターに指定された値が一致した場合のみダウンロードが許可され、keyが指定されていない、 または値が異なる場合はダウンロードエラーとなります。 一般的なサーブレットと同様に、デプロイメント・ディスクリプタ WEB-INF/web.xml に、 servlet 要素と そのマッピング(servlet-mapping)を定義する必要があります。 <servlet> <servlet-name>fileDownload</servlet-name> <servlet-class>org.opengion.hayabusa.servlet.FileDownload</servlet-class> </servlet> <servlet-mapping> <servlet-name>fileDownload</servlet-name> <url-pattern>/jsp/fileDownload</url-pattern> </servlet-mapping> 一般には、http://:ポート/システムID/jsp/fileDownload?file=サーバー物理ファイル&name=ファイル名 形式のURL でアクセスします。 5.9.25.0 (2017/10/06) クラウド上のPaaSでオブジェクトストレージを利用する際は以下のシステムリソースを設定してください。 CLOUD_STORAGE,CLOUD_STORAGE_CONTAINER plugin/cloud内のクラスを利用してファイルアップロード(FileUploadタグ)、ダウンロード(FileDownloadサーブレット)をAPI経由で行います。 プラグインが利用するjarファイルの配置は必要です。 5.8.1.0 (2014/11/07) forwardでアクセスする場合はファイル名の文字コード変換が不要なため、useStringConvert=falseの 引数を与えてください。(falseとしない場合は日本語ファイル名等でエラーが発生します) 7.2.7.0 (2020/08/07) 相対パスの場合の基準フォルダ 互換性確保のため、useBase リクエスト変数を true で飛ばすと、処理を実行します。
    関連項目:
    直列化された形式
    導入されたバージョン:
    JDK1.1,
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      FileDownload()
      デフォルトコンストラクター
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      void doGet​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      GET メソッドが呼ばれたときに実行します。
      void doPost​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      POST メソッドが呼ばれたときに実行します。
      • クラスから継承されたメソッド javax.servlet.http.HttpServlet

        doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
      • クラスから継承されたメソッド javax.servlet.GenericServlet

        destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
    • コンストラクタの詳細

      • FileDownload

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

      • doGet

        public void doGet​(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response)
                   throws javax.servlet.ServletException,
                          IOException
        GET メソッドが呼ばれたときに実行します。 処理は、doPost へ振りなおしています。
        オーバーライド:
        doGet クラス内 javax.servlet.http.HttpServlet
        パラメータ:
        request - HttpServletRequestオブジェクト
        response - HttpServletResponseオブジェクト
        例外:
        javax.servlet.ServletException - サーブレット関係のエラーが発生した場合、throw されます。
        IOException - 入出力エラーが発生したとき
      • doPost

        public void doPost​(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response)
                    throws javax.servlet.ServletException,
                           IOException
        POST メソッドが呼ばれたときに実行します。 file 引数の サーバー物理ファイルを、クライアントにストリーム化して返します。 name 引数があれば、その名前のファイル名でクライアントがファイルセーブできるように します。name 引数がなければ、そのまま物理ファイル名が使用されます。 サーバー物理ファイル名が、相対パスの場合、コンテキストルートに対する相対パスになります。 (例:G:\webapps\dbdef2\ など)
        オーバーライド:
        doPost クラス内 javax.servlet.http.HttpServlet
        パラメータ:
        request - HttpServletRequestオブジェクト
        response - HttpServletResponseオブジェクト
        例外:
        javax.servlet.ServletException - サーブレット関係のエラーが発生した場合、throw されます。
        IOException - 入出力エラーが発生したとき