48.41 GET_BLOB_FILE_SRCファンクション

ダウンロード・リンクを指定した組込み方式を使用するかわりに、APEX_UTIL.GET_BLOB_FILE_SRCファンクションを使用できます。この方法の利点の1つは、イメージの表示を(heightタグとwidthタグで)より具体的に書式設定できることです。このファンクションは、有効なOracle APEXセッションからコールする必要があり、BLOBを記述するパラメータがアプリケーション内の有効なアイテムの形式としてリストされている必要もあります。この項目は後でファンクションが参照します。

このファンクションによって戻されるURLがAPEX_UTIL.PREPARE_URLに渡され、参照されるページ・アイテムがモーダル・ページにある場合は、p_plain_url引数をTRUEに設定して、モーダル・ダイアログ・コードが追加されないようにします。

構文

APEX_UTIL.GET_BLOB_FILE_SRC (
    p_item_name           IN VARCHAR2 DEFAULT NULL,
    p_v1                  IN VARCHAR2 DEFAULT NULL,
    p_v2                  IN VARCHAR2 DEFAULT NULL,
    p_content_disposition IN VARCHAR2 DEFAULT NULL )
RETURN VARCHAR2;

パラメータ

表48-37 GET_BLOB_FILE_SRCのパラメータ

パラメータ 説明
p_item_name タイプがFILEで、DB列のソース・タイプが含まれる有効なアプリケーション・ページ・アイテムの名前。
p_v1 主キー列1の値。
p_v2 主キー列2の値。
p_content_disposition INLINEまたはATTACHMENTを指定します(その他の値はすべて無視されます)。

PL/SQLファンクションの本体として使用する場合:

RETURN '<img src="'||APEX_UTIL.GET_BLOB_FILE_SRC('P2_ATTACHMENT',:P2_EMPNO)||'" />';

SQLタイプのリージョン・ソースとして使用する場合:

SELECT ID, NAME,CASE WHEN NVL(dbms_lob.getlength(document),0) = 0
    THEN NULL 
    ELSE CASE WHEN attach_mimetype like 'image%'
    THEN '<img src="'||apex_util.get_blob_file_src('P4_DOCUMENT',id)||'" />' 
    ELSE 
    '<a href="'||apex_util.get_blob_file_src('P4_DOCUMENT',id)||'">Download</a>'
    end 
    END new_img
    FROM TEST_WITH_BLOB

前述の例は、BLOBを表示できる場合はレポート内に表示し、表示できない場合はダウンロード・リンクを提示する方法を示しています。

参照:

『Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイド』フォームおよびレポートでのBLOBサポートの理解