我在xpage上有一个数据视图,指向不同服务器上的数据库视图。我可以打开记录。而不是打开记录,我想从视图中启动该记录中的附件。
我想从SSJS中的函数获取视图条目的URL,然后解析基本服务器名称,数据库名称,文档ID并创建这样的URL
有关如何获取记录网址的任何提示? imbmmodres也可以启动附件而不是下载吗?
答案 0 :(得分:1)
我让它工作,并且能够下载附件但无法启动附件。我使用了以下代码:
function getBaseURL() {
var curURL = context.getUrl();
var curAdr = curURL.getAddress();
var rel = curURL.getSiteRelativeAddress(context);
var step1 = curAdr.substr(0,curAdr.indexOf(rel));
// Now cut off the http
var step2 = step1.substr(step1.indexOf("//")+2);
var result = step2.substr(step2.indexOf("/"));
return result;
}
baseURL=getBaseURL();// this function from stephen wissell
var d:NotesViewEntry=curRow;
var db=d.getDocument().getParentDatabase()
var fn=db.getFileName();
var baseserver=db.getServer();
var unid:string = curRow.getUniversalID();
var attNames = curRow.getColumnValue("AttachmentNames");
return baseURL + "/xsp/.ibmmodres/domino/OpenAttachment/" +baseserver+"!!"+fn+"/"+unid+"/LaunchField/"+attNames;
getURL
,getnotesurl
,gethttpURL
只返回副本id
,而不是服务器名称,因此它们不会为目的服务
答案 1 :(得分:0)
var address1 = viewvar.getDocument()。getURL()
然后你可以使用该对象的getHost()或getAddress()来获取你需要的部分
address1.getHost()+ ...