在XPiNC的“文件下载”控件中单击附件的链接时,系统会提示您保存附件。是否可以配置文件下载控件直接打开附件而不是提示用户保存?我们使用的是8.5.2 FP3。
答案 0 :(得分:0)
我没有使用过文件下载控件或XPINC,但绝对可以让你的xpage或view控件直接打开附件。此方法绕过下载控件。
请参阅Stephan Wissel的这篇文章:http://www.wissel.net/blog/d6plinks/SHWL-86QKNM,它为您提供了一些可用于构建URL的SSJS。您可以在按钮的onClick方法中使用它。基本上,您可以按照您希望的方式复制下载控件的功能。
如果您想从视图控件中执行相同的操作,请参阅此帖子:http://notesspeak.blogspot.com/2013/02/how-to-launch-attachment-from-view.html
请注意,不同浏览器的行为略有不同,但它适用于所有主要内容。
迈克尔, 这是我使用的代码:
var unid = rowValue.getUniversalID()
var url = getAttachmentURL(unid, "storetransfer.pdf", "Testing//test.nsf")
url = "/" + url + ";"
view.postScript("window.open('" + url + "', '_blank', 'height=120,width=650,top=10,left=10,resizable=yes');");
我确实修改了Stephan的代码,因为我的数据与我的代码的NSF不同。您可能知道这一点,但view.postScript允许您从SSJS调用clientside javascript。它总是最后运行,因此名称。这与评论中提到的Notesin9视频中的代码相同。我只是测试了它,它的工作方式就像我认为你想要的那样,但是在firefox中它会尝试阻止弹出窗口,然后必须按“打开”。希望这会有所帮助。
答案 1 :(得分:0)
“附件”的处理主要由浏览器完成(XPiNC是Notes中的Firefox浏览器)。例如,如果在浏览器中安装了PDF插件,并且服务器使用该文件发送相应的“application / pdf”mime-type,则浏览器使用该插件显示该文件。浏览器中mime类型和插件或外部应用程序之间的关联是服务器/ Web应用程序无法影响的。
您可以在服务器端执行的操作是发送mime类型的“application / octet-stream”而不是与文件类型相对应的那个,从而导致浏览器显示“选择应用程序或下载”对话框。因此,在Xpages中,您必须通过XPage重定向下载,您可以在其中设置相应的HTTP标头,如Set cache headers on an XPage和How to force PDF files to open in browser所示?