See Also:For more information about implementation of this package:
The chapter contains the following topics:
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;
There are three versions of this 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.