Oracle WPG_DOCLOAD
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
"I spent my entire adult life looking out for the well-being, the training, the equipping of the troops for whom I was responsible. I will not be lectured about what our military needs by a five-deferment draft dodger,"
~ Sen. Tammy Duckworth
Purpose Provides an interface to download files, BLOBs and BFILEs for use with the PL/SQL Gateway
AUTHID DEFINER
Constants
Name Data Type Value
max_doctable_name_len PLS_INTEGER 256
mimet_col_len PLS_INTEGER 48
name_col_len PLS_INTEGER 64
Data Types TYPE parts_table IS TABLE OF VARCHAR2(256) INDEX BY BINARY_INTEGER;
Dependencies
DBMS_ASSERT DBMS_SYS_SQL OWA_UTIL
DBMS_LOB HTP UTL_RAW
DBMS_SQL    
Documented Yes
First Available Not known
Security Model Owned by SYS with EXECUTE granted to PUBLIC.
Source {ORACLE_HOME}/rdbms/admin/wpgdocs.sql
Subprograms
 
DOWNLOAD_FILE
Signals the PL/SQL Gateway of a file is to be downloaded to the client's browser

Overload 1
wpg_docload.download_file(
p_filename IN VARCHAR2,
p_bcaching IN BOOLEAN DEFAULT TRUE);
TBD
Overload 2 wpg_docload.download_file(p_blob IN OUT NOCOPY BLOB);
TBD
Overload 3 wpg_docload.download_file(p_bfile IN OUT BFILE);
TBD
 
GET_CONTENT_LENGTH
Return the length of a lob to be downloaded wpg_docload.get_content_length RETURN PLS_INTEGER;
SELECT wpg_docload.get_content_length
FROM dual;
 
GET_DOWNLOAD_BFILE
Fetch the bfile to be downloaded wpg_docload.get_download_blob(p_bfile OUT BFILE);
TBD
 
GET_DOWNLOAD_BLOB
Fetch the blob to be downloaded wpg_docload.get_download_blob(p_blob OUT NOCOPY BLOB);
TBD
 
GET_DOWNLOAD_FILE (private ... do not use)
Get the name and mime_type of the file to be downloaded wpg_docload.get_download_file(p_doc_info OUT VARCHAR2);
TBD
 
GET_DOWNLOAD_FILE_RAW
Get the name and mime_type of the file to be downloaded wpg_docload.get_download_file_raw(p_doc_info OUT RAW);
TBD
 
IS_FILE_DOWNLOAD
Undocumented wpg_docload.is_file_download RETURN BOOLEAN;
-- Unvalidated: From an internet source of unknown reliability

GRANT execute ON display_easy_image TO public;

CREATE OR REPLACE PROCEDURE display_easy_image( p_id NUMBER ) AS
 s_mime_type VARCHAR2(48);
 n_length NUMBER;
 s_filename VARCHAR2(400);
 lob_image BLOB;
BEGIN
  SELECT mime_type, dbms_lob.getlength( blob_content ), filename, blob_content
  INTO s_mime_type, n_length, s_filename, lob_image
  FROM easy_image
  WHERE image_id = p_id;

  -- set the size so the browser knows how much it will be downloading.
  owa_util.mime_header(NVL(s_mime_type, 'application/octet' ), FALSE);
  htp.p('Content-length: ' || n_length);
  -- The filename will be used by the browser if the users does a "Save as"
  htp.p('Content-Disposition: filename="' || s_filename || '"');
  owa_util.http_header_close;
  -- Download the BLOB
  wpg_docload.download_file(lob_image);
END display_easy_image;
/

Related Topics
DBMS_LOB
Packages
What's New In 12cR1
What's New In 12cR2

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved