管理 Oracle Visual Builder 應用程式中的文件
Oracle Content and Experience 's REST API for Documents 提供一系列端點,供您使用Oracle Visual Builder 應用程式的介面來執行下載、檢視及刪除Oracle Content and Experience Document 儲存中的檔案。
下面的內容為附帶範例,描述如何使用Oracle Visual Builder UI 元件、變數以及動作鏈結從Oracle Content and Experience下載文件的適當端點。您可以使用此模式來實行Oracle Visual Builder 應用程式中的功能,以便對文件執行其他任務,例如檢視或刪除。
若要下載文件 (例如相片或其他類型的檔案),您需要:
- 此服務連線會顯示Oracle Content and Experience REST API 針對文件所提供的「取得檔案資訊」和「下載檔案」端點。
- 您Oracle Visual Builder 應用程式中的一個頁面,可執行下列動作:
- 包括類型為
Object
的變數,以參照選取的檔案 (selectedFile
),以及參照選定檔案之 ID (selectedFileId
) 的類型為String
的變數。 - 使用您先前新增的「清單檢視」元件來擷取Oracle Content and Experience的文件清單。您將設定此「清單檢視」元件,以呼叫包含「呼叫 REST 端點」動作的動作鏈結,以在使用者選取文件清單中的檔案時呼叫「取得檔案資訊」端點。
- 呼叫包含「呼叫 REST 端點」動作之動作鏈的按鈕元件,此動作會呼叫「下載檔案」端點,以下載使用者在文件清單中選取的檔案。
- 呼叫模組函數,下載「下載檔案」端點傳回的物件。
- 包括類型為
建立端點以下載文件
您可以建立端點,以使用您連線之Oracle Content and Experience 執行處理的基礎 URI 和查詢參數,來從Oracle Content and Experience 下載檔案,以存取 REST API 針對文件所顯示的取得檔案資訊和下載檔案端點。
我們假設您已經建立服務連線以及從 Oracle Content and Experience 擷取文件的端點。如果您尚未執行這項作業,請完成後者作業。下列步驟描述如何將「取得檔案資訊」和「下載檔案」端點新增至您為擷取文件所建立的服務連線。
若要新增從Oracle Content and Experience下載檔案的端點:
準備下載文件
您可以在從Oracle Content and Experience下載文件的Oracle Visual Builder 應用程式頁面中建立一些變數,並撰寫呼叫模組函數。您也會設定頁面中的「清單檢視」元件以允許選取檔案,以及擷取所選檔案的相關檔案資訊。
完成這些作業之後,即可新增 UI 元件 (例如按鈕),供使用者呼叫包含呼叫「下載檔案」端點之「REST 呼叫端點」動作的動作鏈結。
在將包含按鈕元件之頁面的「變數」編輯器中,按一下+變數按鈕來新增下列將用來參照要下載之檔案的兩個變數:
- 類型為
Object
的selectedFile
。 - 類型為
String
的selectedFileId
。
![Vb-cec-var-download.png 的描述請參見下方 Vb-cec-var-download.png 的描述請參見下方](img/vb-cec-var-download.png)
Vb-cec-var-download.png 圖解描述
如果先前未建立,也要新增名為 folderId
的變數。將類型指定為 String
,其預設值為 self
,然後選取輸入參數核取方塊。
您寫入的呼叫模組函數會下載使用者選取的檔案。
若要寫入呼叫模組函數以下載選取的檔案:
在頁面的「函數」編輯器中,新增下列在註解行 (//) 之間出現的函數。
define(['vb/helpers/rest', 'vb/helpers/rest'], (Rest, RestHookHandler) => {
'use strict';
var PageModule = function PageModule() { };
// Download the file
PageModule.prototype.saveFile = function(data, mimeType, filename) {
const blob = new Blob([data], {
type: mimeType
});
// IE/Edge
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
return;
}
var link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = filename;
link.click();
// Firefox: delay revoking the ObjectURL
setTimeout(function() {
URL.revokeObjectURL(blob);
}, 100);
};
// ...
return PageModule;
});
若要設定「清單檢視」元件,以選取和擷取所選檔案的相關檔案資訊:
- 在應用程式頁面的「設計工具」檢視中,選取清單檢視元件,然後從「特性偵測器」的選擇模式下拉式清單中選取單一。
vb-cec-single elect.png
圖解描述 - 在「清單檢視」元件之「特性偵測器」的「事件」頁籤中,按一下+新事件,然後按一下快速開始:選擇項目。
這會在「動作鏈結」工作區中建立並開啟新的動作鏈結
ListViewSelectionChangeChain
。 - 在「動作鏈結」工作區的動作底下的篩選輸入欄位中輸入
If
,然後將「邏輯」區段中的 If 動作拖放到「動作鏈結」工作區。 - 利用您剛剛新增的「如果」動作,按一下「條件」輸入欄位右邊的下拉式箭頭,並選取「動作鏈結的變數」區段中選取項目 [0]。
Vb-cec-list-change-selection.png 圖解描述 - 在「動作鏈結」工作區的動作底下的篩選輸入欄位中輸入
Call REST
,然後將「呼叫 REST 端點」動作拖放至「動作鏈結」工作區,如果動作評估為 true,則將「動作鏈結」工作區視為結果。 - 使用您剛剛新增的「呼叫 REST 端點」動作,按一下選取端點按鈕。
- 在選取端點對話方塊中,選取取得檔案資訊端點 (
files/{fileID}
),然後按一下選取。vb-cec-add-endpoint-fileinfo.png
圖解的描述
- 在「動作鏈結」工作區中,選取呼叫 REST 端點動作,然後在輸入參數區段中,按一下fileID 即可呼叫「呼叫 REST 端點」對話方塊,您可以在此對話方塊中將選取的檔案對應至 fileID 參數。
Vb-cec-call-endpoint-fileinfo.png 圖解描述 - 按一下儲存。
- 在動作底下的篩選輸入欄位中,輸入
Assign
,然後將指派變數動作拖放至工作區,作為「呼叫 REST 端點」動作的成功結果。 - 選取您剛剛新增至工作區的「指派變數」動作,然後按一下「變數」區段下方的指派。
- 在顯示的「指定變數」對話方塊中,於來源中的動作鏈結變數與目標頁面底下的selectedFileId 節點之下,取得項目 [0] 節點之間的連線。
- 此外,也會在「結果中的 callRestEndpoint1」下的主體節點與「目標中頁面」下的「selectedFile」節點之間繪製連線。
- 按一下儲存。
- 將其他「指派變數」動作拖放到工作區,作為「呼叫 REST 端點」動作的失敗結果。
- 選取您剛剛新增至工作區的「指派變數」動作,然後按一下「變數」區段下方的指派。
- 在顯示的「指定變數」對話方塊中,於來源中的動作鏈結變數與目標頁面底下的folderId 節點之下,取得項目 [0] 節點之間的連線。
- Click Save.
Description of the illustration vb-cec-fileinfo-final-action.png
下載選取的文件
您將新增一個「按鈕」元件,供一般使用者按一下此按鈕來呼叫動作鏈結,此動作鏈結會包含呼叫「下載檔案」端點的「呼叫 REST 端點」動作,以及下載「下載檔案」端點所傳回之檔案的「呼叫模組函數」動作。
![Vb-cec-list-download-rt.png 的描述請參見下方 Vb-cec-list-download-rt.png 的描述請參見下方](img/vb-cec-list-download-rt.png)
Vb-cec-list-download-rt.png 圖解描述