繁体   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