日本語PDF

281 WPG_DOCLOAD

WPG_DOCLOADパッケージは、ファイル、BLOBおよびBFILEをダウンロードするインタフェースを提供します。

参照:

このパッケージの実装の詳細は、次のマニュアルを参照してください。

この章の内容は次のとおりです。

281.1 WPG_DOCLOADの定数

WPG_DOCLOADは、パラメータ値の指定時に使用するいくつかの定数を定義します。

WPG_DOCLOADの定数は、次のとおりです。

  • NAME_COL_LEN

  • MIMET_COL_LEN

  • MAX_DOCTABLE_NAME_LEN

NAME_COL_LEN

文書表のNAME列には、name_col_lenと同じ値を設定する必要があります。

name_col_len CONSTANT pls_integer := 64;

MIMET_COL_LEN

文書表のMIME_TYPE列には、mimet_col_lenと同じ値を設定する必要があります。

mimet_col_len CONSTANT pls_integer := 48;

MAX_DOCTABLE_NAME_LEN

文書表の名前は、max_doctable_name_lenより短く指定する必要があります。

max_doctable_name_len CONSTANT pls_integer := 256;

281.2 WPG_DOCLOADサブプログラムの要約

WPG_DOCLOADパッケージは、1つのサブプログラム、DOWNLOAD_FILEプロシージャを使用します。

表281-1 WPG_DOCLOADパッケージのサブプログラム

サブプログラム 説明

DOWNLOAD_FILEプロシージャ

ファイル、BLOBおよびBFILEをダウンロードします。

281.2.1 DOWNLOAD_FILEプロシージャ

このダウンロード・ファイル・プロシージャには、3つのバージョンがあります。

  • 最初のバージョンはファイルをダウンロードし、文書内のDOWNLOADプロシージャにより起動され、p_filenameが文書表からクライアントのブラウザにダウンロードされようとしていることをPL/SQLゲートウェイに通知します。

  • 2番目のバージョンは、どのプロシージャからも起動でき、p_blobがクライアントのブラウザにダウンロードされようとしていることをPL/SQLゲートウェイに通知します。

  • 3番目のバージョンは、どのプロシージャからも起動でき、p_bfileがクライアントのブラウザにダウンロードされようとしていることをPL/SQLゲートウェイに通知します。

構文

WPG_DOCLOAD.DOWNLOAD_FILE(
   p_filename      IN             VARCHAR2, 
   p_bcaching      IN             BOOLEAN DEFAULT TRUE);

WPG_DOCLOAD.DOWNLOAD_FILE(
   p_blob          IN OUT NOCOPY  BLOB);

WPG_DOCLOAD.DOWNLOAD_FILE(
   p_bfile         IN OUT         BFILE);

パラメータ

表281-2 DOWNLOAD_FILEプロシージャのパラメータ

パラメータ 説明

p_filename

文書表からダウンロードするファイル。

p_blob

ダウンロードするBLOB

p_bfile

ダウンロードするBFILE(「使用上のノート」を参照)。

p_bcaching

ブラウザ・キャッシングを有効にするかどうか(「使用上のノート」を参照)。

使用上のノート

  • 通常、ブラウザがキャッシュ内に要求された文書が保存されていることを示す'If-Modified-Since'ヘッダーをゲートウェイに送信しないかぎり、文書はブラウザにダウンロードされます。送信された場合は、ブラウザのキャッシュに保存されたコピーが最新のものであるかどうかをゲートウェイが判別し、最新のものであれば、このコピーを表示させることを指示するHTTP 304ステータス・メッセージをブラウザに送信します。ただし、文書URLおよび文書がPL/SQL Webゲートウェイにおいて必ずしも1対1の関係を構築しているとはかぎらないため、場合によっては、望んでいない文書のコピーが表示されることがあります。そのような場合には、p_bcachingパラメータをFALSEに設定し、'If-Modified-Since'ヘッダーを無視し、文書をダウンロードするようゲートウェイに指示します。

  • ファイルにアクセスできるかどうか、存在しているかどうかをチェックするために最初にロケータが開かれるため、p_bfileおよびp_blobIN OUTとして宣言されます。オープン操作は、ロケータが書込みおよび読取り可能である場合にのみ実行できます。