2012-02-15 53 views
0

我有一個xpage上的數據視圖,指向不同服務器上的數據庫視圖。我可以打開記錄。而不是打開記錄,我想從視圖中啓動該記錄中的附件。從其他數據庫鏈接

在視圖中的記錄中的網址是: http://servername/home.nsf/manual.xsp?databaseName=baseservername!!dc.nsf&documentId=D28E5520C520062885257862006697AE&action=editDocument

我想從SSJS函數獲取視圖進入這個URL,然後解析基礎服務器名稱,數據庫名稱,文件ID和創建這樣

http://servername/home.nsf/xsp/.ibmmodres/domino/OpenAttachment/baseservername!!Dc.nsf/D28E5520C520062885257862006697AE/body/testing.pdf

如何獲得記錄的URL任何提示網址? imbmmodres也可以啓動附件而不是下載?

回答

0

VAR地址1 = viewvar.getDocument()的getURL()

那麼你可以使用和getHost()或的getAddress()從該對象得到你需要

address1.getHost部分()+ ...

+0

的getURL或gethttpurl或getnotesurl不會給數據庫所在的其他服務器的服務器名稱。他們只是給副本ID – user1186272 2012-02-16 15:35:33

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; 

getURLgetnotesurlgethttpURL僅返回副本id而不是服務器名稱,因此他們不這樣做服務器的目的

相關問題