Lotus notes客户机链接和xpages中的浏览器链接用于下载存储在服务器目录中的文件
Lotus notes client link and browser link in xpages to download file stored in server directory
我有一个Xpage,里面有一个链接可以下载我存储在服务器上的ics文件,当用户点击这个链接时,用户就可以下载文件名"votes.ics"。
因此,当它从浏览器访问时,它允许我下载文件,但同时,当我想从LOTUS NOTES客户端使用链接下载相同的文件时,它抛出错误资源文件未找到,这意味着NOTES客户端的路径有问题,
为了更清楚,例如,我有一个数据库名称"SMP_Intern"。在服务器上文件夹名为"SMP"中的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'条件工作得很好。
两个路径基本相同,但无法找到错误。
在这种情况下,您不需要对Notes Client (XPiNC)进行特殊处理。
链接值的SSJS代码
var url = "/0/"+docId+"/$File/"+"votes"+".ics?OpenElement";
return url;
也适用于XPiNC,因为附件在当前数据库中:
如果当前数据库位于服务器上,则URL指向服务器上的附件。
如果当前数据库是本地副本,则URL指向客户端本地数据库中的附件。
您是否尝试过从客户端打开的@URLOpen(urlstring)公式?
url必须是一个完整的url http://DominoServer/DBPath/0/DocUNID/$file/filename
var url = " http://" + path_private +"/0/+ docId +"/文件/美元"+"选票"+"mab ' ? OpenElement";
@URLOpen(url);相关文章:
- reactJs redux:如何对用户事件调度操作并将操作与化简器和存储链接
- 在客户端/浏览器端存储照片(不是照片的链接)
- 如何按类名和存储获取页面中的所有链接
- Javascript 计数单击链接并将其存储在cookie中
- 记录链接单击,然后保存到本地存储
- 哪一个更好?存储在根文件或直接指向JS的链接上的JavaScript
- 如何将文件链接不仅存储在文件输入中,而且存储在隐藏输入中
- 如何重定向到链接存储在变量中的页面
- 将数据存储到URL链接中
- 当我点击按钮并存储在会话变量中时,我如何获得链接
- 将文本转换为动态超链接或将其存储在数据库中
- 在网页上选择一个超链接,并使用CasperJS将生成的网页内容存储在文本文件中
- 使用jasmine js将网页中的所有链接存储为json数据
- 如何存储链接的id
- 点击链接后存储HREF值
- 存储图像点击并回显链接
- Lotus notes客户机链接和xpages中的浏览器链接用于下载存储在服务器目录中的文件
- 如何存储用户输入的url(锚链接)并使用window.location重定向用户
- ExtJS 5 -链接存储绑定表单字段错误(MVVM)
- 链接存储在var中,获取另一个var中的内容