public class FileDownload extends 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としない場合は日本語ファイル名等でエラーが発生します)| コンストラクタと説明 |
|---|
FileDownload()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
doGet(HttpServletRequest request,
HttpServletResponse response)
GET メソッドが呼ばれたときに実行します。
|
void |
doPost(HttpServletRequest request,
HttpServletResponse response)
POST メソッドが呼ばれたときに実行します。
|
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, servicedestroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, logpublic FileDownload()
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
doGet クラス内 HttpServletrequest - HttpServletRequestオブジェクトresponse - HttpServletResponseオブジェクトServletException - サーブレット関係のエラーが発生した場合、throw されます。java.io.IOException - 入出力エラーが発生したときpublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
doPost クラス内 HttpServletrequest - HttpServletRequestオブジェクトresponse - HttpServletResponseオブジェクトServletException - サーブレット関係のエラーが発生した場合、throw されます。java.io.IOException - 入出力エラーが発生したときWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.