簡體   English   中英

xpages中的Lotus Notes客戶端鏈接和瀏覽器鏈接以下載存儲在服務器目錄中的文件

[英]Lotus notes client link and browser link in xpages to download file stored in server directory

我有一個Xpage,其中有一個鏈接可以下載我存儲在服務器上的ics文件,當用戶單擊該鏈接時,用戶可以下載文件名“ votes.ics”。

因此,當從瀏覽器訪問它時,它允許我下載文件,但是與此同時,當我想使用LOTUS NOTES Client的鏈接下載同一文件時,它拋出錯誤,找不到資源文件,這意味着路徑在便簽客戶端中有問題,

為了更清楚一點,例如,我在服務器上的文件夾名稱“ SMP”中有一個數據庫名稱“ SMP_Intern.nsf”,鏈接后面的onclick腳本是

var docId = getVotingDocumentUID();
if(docId != ""){
if(@ClientType() == "Notes"){
var path_private = "server_name/SMP/SMP_Intern.nsf";
var httpUrl = path_private.split("/")[0];
var databaseUrl = (httpUrl+"!!"+path_private.split("/")[1]+"/"+path_private.split("/")[2]);
var url = "/xsp/"+databaseUrl+"/.ibmmodres/domino/OpenAttachment/"+databaseUrl+"/"+docId+"/ics_file/votes.ics";
return url;
}else{
var url = "/0/"+docId+"/$File/"+"votes"+".ics?OpenElement";
return url;
}
}else return false;

對於Notes客戶端,它進入'if'條件,並提供未找到的錯誤資源,但是當它是瀏覽器時,'else'條件可以很好地工作。

兩條路徑基本相同,但找不到錯誤。

任何建議都會有所幫助。

您是否嘗試過@URLOpen(urlstring)公式從客戶端打開?

該URL必須是完整的URL http:// DominoServer / DBPath / 0 / DocUNID / $ file / filename

var url =“ http://” + path_private +“ / 0 /” + docId +“ / $ File /” +“ votes” +“。ics?OpenElement”;

@URLOpen(url);

在這種情況下,您不需要對Notes Client(XPiNC)進行特殊處理。

您的SSJS代碼以獲取鏈接值

var url = "/0/"+docId+"/$File/"+"votes"+".ics?OpenElement";
return url;

由於附件在當前數據庫中,因此也適用於XPiNC:
如果當前數據庫位於服務器上,則URL指向服務器上的附件。
如果當前數據庫是本地副本,則URL指向客戶端上本地數據庫中的附件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM