4

我们有一个基于浏览器的应用程序,它集成了一个 webdav 服务器。我们在 (webdav) servlet 上生成特定文档的 URL。( https://server.com/webdav/path/to/file.doc)

我们正在寻找的是让我们的客户直接在适当的程序中打开这些链接的好方法。IE 对于 Windows 用户," https://server.com/webdav/path/to/excelfile.xls" 应该在 MS Excel 中打开,而相同的链接应该在 Linux 上打开 OOCalc。

到目前为止,我们一直在使用一个小程序,它映射了扩展、操作系统和程序,并通过Runtime.getRuntime().exec(..). 这种方法在 Ms-Windows 上工作得有些好,但在 Linux 和 mac 客户端上是有问题的,而且也很不灵活。

有没有更好的方法来做到这一点?

4

4 回答 4

0

如果您将文件的 MIME 类型设置为正确的格式,则所有浏览器都应该能够处理它们。然后,用户可以决定对该类型采取默认操作(打开 acrobat、word、excel、记事本)或选择自定义操作。

于 2011-09-11T11:23:41.523 回答
0

如今,它在 Internet Explorer 10/11 中运行良好。但是您必须添加一个注册表项才能允许 Office 以读/写方式打开从浏览器传递的文档。注册表项如下:

办公室 2013:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Internet\OpenDocumentsReadWriteWhileBrowsing = 0x1 (DWORD)

办公室 2010:

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet\OpenDocumentsReadWriteWhileBrowsing = 0x1 (DWORD)

有关设置密钥的信息,请参阅本文:http: //social.technet.microsoft.com/Forums/office/en-US/06fedd90-4889-45ca-949d-60b76d74dd15/ms-word-open-document-readonly-带有-WebDAV

于 2013-10-23T23:43:58.940 回答
0

这不是 java.awt.Desktop 类的设计目的吗?

我说“专为”是因为有很多事情它做得不好或不正确,但它确实适用于某些事情。它缺少“打开方式”选项,就像操作系统必须提示您打开文档时应该使用什么,如果没有注册它。

它可能会将 url 解释为 web url,打开浏览器,然后浏览器可能会委托打开文件?在这种情况下,您必须将文档下载到临时文件,然后使用 desktop.open?

于 2008-11-19T19:13:49.383 回答
0

不幸的是,小程序是目前唯一的解决方案。但在极少数情况下,我们使用"SharePoint.OpenDocuments"'application/x-sharepoint'插件。您可以在此处与您的解决方案进行比较。

于 2013-03-13T13:47:06.677 回答