ссылка из другой базы данных - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть данные на xpage, которые указывают на представление базы данных на другом сервере. Я могу открыть запись. Вместо открытия записи я хочу запустить вложение в этой записи из представления.

URL-адрес записи в представлении: http://servername/home.nsf/manual.xsp?databaseName=baseservername!!dc.nsf&documentId=D28E5520C520062885257862006697AE&action=editDocument

Я хотел бы получить этот URL-адрес записи представления из функции в SSJS, а затем проанализировать имя базового сервера, имя базы данных, идентификатор документа и создать URL-адрес, подобный этому

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

Какие-нибудь советы о том, как получить URL-адрес записи? Также может ли imbmmodres запускать вложение вместо загрузки?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Я получил его на работу и смог загрузить вложение, но не смог запустить вложение.Я использовал следующий код:

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, а не имя сервера, следовательно, они не предназначены для сервера

0 голосов
/ 16 февраля 2012

var address1 = viewvar.getDocument (). GetURL ()

тогда вы можете использовать getHost () или getAddress () из этого объекта, чтобы получить нужные вам детали

address1.getHost () + ...

...