WPG_DOCLOAD package provides an interface to download files,
For more information about implementation of this package:
The chapter contains the following topics:
WPG_DOCLOAD defines several constants to use when specifying parameter values.
WPG_DOCLOAD constants are listed below:
NAME column in your document table must be the same as the value of
name_col_len CONSTANT pls_integer := 64;
MIME_TYPE column in your document table must be the same as the value of
mimet_col_len CONSTANT pls_integer := 48;
The name length of your document table must be less than
max_doctable_name_len CONSTANT pls_integer := 256;
The WPG_DOCLOAD package uses one subprogram, the
Table 277-1 WPG_DOCLOAD Package Subprograms
There are three versions of this download file procedure.
The first version downloads files and is invoked from within a document download procedure to signal the PL/SQL Gateway that
p_filename is to be downloaded from the document table to the client's browser.
The second version can be called from within any procedure to signal the PL/SQL Gateway that
p_blob is to be downloaded to the client's browser.
The third version can be called from within any procedure to signal the PL/SQL Gateway that
p_bfile is to be downloaded to the client's browser.
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);
Normally, a document will be downloaded to the browser unless the browser sends an 'If-Modified-Since' header to the gateway indicating that it has the requested document in its cache. In that case, the gateway will determine if the browser's cached copy is up to date, and if it is, it will send an HTTP 304 status message to the browser indicating that the browser should display the cached copy. However, because a document URL and a document do not necessarily have a one-to-one relationship in the PL/SQL Web Gateway, in some cases it may be undesirable to have the cached copy of a document displayed. In those cases, the
p_bcaching parameter should be set to FALSE to indicate to the gateway to ignore the 'If-Modified-Since' header, and download the document.
p_blob are declared as
OUT because the locator is initially opened to check for file accessibility and existence. The open operation can only be performed if the locator is writable and readable.