oracle EBS上傳和下載文件(轉)


最近一直在做一個工作流的項目,最終用戶要求在發送消息的時候可以附帶附件,這個又是給我的一個難題。
在網上查了一下ORACLE上傳資料,找到了黃建華前輩寫的《Oracle EBS Forms開發指南(中級)》的資料有關於附件開發的內容,真的是不得不佩服黃建華前輩的厲害啊。


言歸正傳,按照《Oracle EBS Forms開發指南(中級)》中的介紹就可以輕松的實現客戶化FORM添加附件的功能,好現在把上傳的功能實現了,要如何實現已上傳的文件在最終用戶想查看該附件的時候現在下來呢?這個又是給我的一個難題,這個問題也卡住了我好些天,不過當初我弄明白了當我上傳的文件時存到了fnd_lobs表中以BLOB數據的形式存儲,現在要把BLOB數據以原文件的格式讀取出來,並且給最終用戶提供下載該文件的功能,在網上還真的找到這種方法,真的感謝前人共享他們的成果。
方法如下:
declare
v_file_id NUMBER;
url VARCHAR2(500);
begin
--Get the file_id of the file which you want to download in fnd_lobs
v_file_id := xxxxxx;
--Get The Download URL
url := fnd_gfm.construct_download_url(fnd_web_config.gfm_agent,v_file_id,TRUE);
fnd_utilities.open_url(url);
end;

以上的方法就可以輕松的實現下載存儲在fnd_lobs中的文件,只要告訴fnd_gfm.construct_download_url在fnd_lobs表中文件的file_id,就可以輕松取得URL,使用fnd_utilities.open_url就可以下載該文件。不過現在還有一個問題就是要在工作流發送的消息找到一個東西(比如說一個按鈕、超鏈接)來執行下載文件的方法,請教顧問也沒得到比較好的方法,無奈只好硬着頭夠嘗試,在多次嘗試之后找到了可以在document類型的ATTRIBUTE里設置一個超鏈接,然后讓這個超鏈接的地址指向我已經取得的下載文件的URL,問題終於得以解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM