$File URL 到附件无法正常工作
$File URL to attachment not working correctly
我在为存储在笔记文档中的附件生成 URL 时遇到了一个奇怪的问题。
显示笔记文档的 Xpage 重复使用以下代码从正文字段中检索嵌入的对象:
var doc:NotesDocument = docEmail.getDocument();
if (doc.hasEmbedded()){
var rtItem:NotesRichTextItem = doc.getFirstItem("Body");
return rtItem.getEmbeddedObjects()
}
然后我有一个隐藏的输入字段,用于存储此代码生成的 URL(colBodyAttachments 是重复集合名称):
var doc:NotesDocument = docEmail.getDocument();
var dbComms = doc.getParentDatabase();
var dbServer = ReturnSvrHostName(dbComms.getServer())
var dbPath = @ReplaceSubstring(dbComms.getFilePath(), '\', '/');
var attachmentName = colBodyAttachments.getName()
return "http://" + dbServer + "/" + dbPath + "/0/" + doc.getUniversalID() + "/$FILE/" + attachmentName
这在 99.9% 的文档上都可以正常工作,但是当我的附件名称如下时,它似乎无法正确生成 URL:“120531.Whytes 发票 # 701537.pdf"
生成的URL如下所示:
http://website.com/database.nsf/0/ABA667304AB04454CC257A4F0015D321/$FILE/120531.Whytes%20Invoice%20# 701537.pdf
它不会在 # 之后对 %20 进行编码,即使我尝试这样做,我仍然会得到 'Item Not Found Exception'。存在散列时编码 url 是否存在问题?或者在存在散列时使用多米诺骨牌查找附件?
# 符号打破了 URL。它是位置和该位置内的位置之间的分隔符。您需要对其进行编码。 xpages 附件的格式也略有不同。参见:http://www.wissel.net/blog/d6plinks/SHWL-86QKNM
我在为存储在笔记文档中的附件生成 URL 时遇到了一个奇怪的问题。
显示笔记文档的 Xpage 重复使用以下代码从正文字段中检索嵌入的对象:
var doc:NotesDocument = docEmail.getDocument();
if (doc.hasEmbedded()){
var rtItem:NotesRichTextItem = doc.getFirstItem("Body");
return rtItem.getEmbeddedObjects()
}
然后我有一个隐藏的输入字段,用于存储此代码生成的 URL(colBodyAttachments 是重复集合名称):
var doc:NotesDocument = docEmail.getDocument();
var dbComms = doc.getParentDatabase();
var dbServer = ReturnSvrHostName(dbComms.getServer())
var dbPath = @ReplaceSubstring(dbComms.getFilePath(), '\', '/');
var attachmentName = colBodyAttachments.getName()
return "http://" + dbServer + "/" + dbPath + "/0/" + doc.getUniversalID() + "/$FILE/" + attachmentName
这在 99.9% 的文档上都可以正常工作,但是当我的附件名称如下时,它似乎无法正确生成 URL:“120531.Whytes 发票 # 701537.pdf"
生成的URL如下所示:
http://website.com/database.nsf/0/ABA667304AB04454CC257A4F0015D321/$FILE/120531.Whytes%20Invoice%20# 701537.pdf
它不会在 # 之后对 %20 进行编码,即使我尝试这样做,我仍然会得到 'Item Not Found Exception'。存在散列时编码 url 是否存在问题?或者在存在散列时使用多米诺骨牌查找附件?
# 符号打破了 URL。它是位置和该位置内的位置之间的分隔符。您需要对其进行编码。 xpages 附件的格式也略有不同。参见:http://www.wissel.net/blog/d6plinks/SHWL-86QKNM