【问题标题】:xpages File Download control - open instead of save?xpages文件下载控件-打开而不是保存?
【发布时间】:2013-09-05 14:29:39
【问题描述】:

当您在 XPiNC 的文件下载控件中单击附件的链接时,您将被提示保存附件。是否可以配置文件下载控件直接打开附件而不提示用户保存?我们使用的是 8.5.2 FP3。

【问题讨论】:

标签: xpages xpinc


【解决方案1】:

“附件”的处理主要由浏览器完成(XPiNC 是 Notes 中的 firefox 浏览器)。例如,如果在浏览器中安装了 PDF 插件,并且服务器将相应的“application/pdf”mime 类型与文件一起发送,则浏览器使用该插件来显示文件。 mime-type 与浏览器中的插件或外部应用程序之间的相关性是服务器/Web 应用程序无法影响的。

您可以在服务器端发送 mime 类型的“application/octet-stream”而不是与文件类型对应的一种,从而导致浏览器显示“选择应用程序或下载”对话框。因此,在 Xpages 中,您必须通过 XPage 重定向下载,并在其中设置相应的 HTTP 标头,如 Set cache headers on an XPage 和 How to force PDF files to open in browser 所示?

【讨论】:

  • 问题出在 XPiNC,而不是普通网络浏览器中的 XPages。
【解决方案2】:

我没用过文件下载控件或者XPINC,但是绝对可以让你的xpage或者view控件直接打开附件。此方法绕过下载控制。

请参阅 Stephan Wissel 的这篇文章:http://www.wissel.net/blog/d6plinks/SHWL-86QKNM,它为您提供了一些 SSJS,您可以使用它们来构建 URL。您可以在按钮的 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 调用客户端 JavaScript。它总是最后运行,因此得名。这与 cmets 中提到的 Notesin9 视频中的代码相同。我刚刚对此进行了测试,它的工作方式与我认为的一样,但在 Firefox 中它确实会尝试阻止弹出窗口,然后必须推动“打开”。希望这会有所帮助。

【讨论】:

  • 我会试试 Stephan 的解决方案。有一个文件下载控件来保存附件似乎有点笨拙,还有其他东西来打开它们。哦,好吧,我猜那是笔记!
  • 如果您对此有任何疑问,请告诉我,我对此有相当多的经验。关于 Notes,总是有大约 3 种方法可以做同样的事情。
  • File-Download 控件不保存附件 :-) File Upload 控件可以。那是多么的笨拙!几乎像 HTML:在 html 页面中输入 type=file,但什么都没有,只是一个指向上传文件的 URL。等等——它是 HTML
  • 此解决方案似乎不适用于 8.5.2 FP3。 Stephan 的代码生成以下 URL,当我单击它时,仍然会弹出“另存为”窗口来保存附件。我错过了一些东西来让它工作吗? uhc_mailOrderForm.pdf
  • 让我看看我的旧代码,看看能不能帮上忙。去年 3 月,我在 9 中做了一个笔记,这可能会有所帮助:notesin9.com/index.php/2013/04/10/… 有趣的是用户改变了对附件的看法,因此删除了所有这些功能。我必须挖掘我在视频中使用的代码,看看是否能找到问题。
猜你喜欢
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多