43.38 GET_BLOB_FILE_SRCファンクション
ダウンロード・リンクを指定した組込み方式を使用するかわりに、APEX_UTIL.GET_BLOB_FILE_SRCファンクションを使用できます。この方法を使用すると、イメージの表示形式をより具体的に設定できます(高さタグおよび幅タグを使用)。この方法は、有効なOracle Application Expressセッションからコールされた場合のみ有効であることに注意してください。また、アプリケーション内に有効な項目の形式としてリスト表示されるために、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;
パラメータ
表43-35 GET_BLOB_FILE_SRCのパラメータ
| パラメータ | 説明 | 
|---|---|
| 
 | タイプがFILEで、DB列のソース・タイプを含む有効なアプリケーション・ページ・アイテムの名前。 | 
| 
 | 主キー列1の値。 | 
| 
 | 主キー列2の値。 | 
| 
 | 
 | 
例
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 Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのフォームおよびレポートでのBLOBサポートの理解
親トピック: APEX_UTIL