我们有一个基于浏览器的应用程序,它集成了一个 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 客户端上存在问题,而且非常不灵活。
有更好的方法吗?
最佳答案
这不是 java.awt.Desktop 类的设计目的吗?
我说“专为”是因为它在很多方面做得不好或不正确,但它确实适用于某些方面。它缺少“打开方式”选项,就像操作系统必须提示您在没有任何注册的情况下打开文档时应该使用什么。
它可能会将 url 解释为 web url,打开浏览器,然后浏览器可能会委托(delegate)打开文件?在那种情况下,您必须将文档下载到临时文件,然后使用 desktop.open?
关于java - 使用客户端上的正确程序打开 webdav 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302543/