3

我们正在开发一个基于 Web 的应用程序,它提供用户案例文件的存储库。希望用户能够从具有完整读写能力的 Web 浏览器访问这些内容。

对于我们的早期系统,它托管在带有 Windows 客户端的本地 Linux 服务器上,我们能够共享一个文件夹并使用 \\server\share_name\file.doc 类型的链接访问它。如果这些类型的链接包含在网页中(在 Internet Explorer 中)并单击在 MS Word 中打开的文件并可以直接保存到共享文件夹中。然而,这些类型的链接仅在 IE 中有效 - 而不是 FF 或 Chrome

现在转向我们下一代系统中基于互联网的解决方案,我们需要类似的功能。

我们正在考虑拥有一个 WebDAV(或 FTP/SFTP)共享并将每台客户端计算机上的本地驱动器映射到它以提供类似功能的想法。不过,这可能不适用于带有 \\server\share_name... 类型链接的 FF 或 Chrome。我们已经进行了简短的测试,并且 file:// 链接在打开文件后不提供写入功能。

作为最后的手段,我们将能够使用手动文件上传对话框,但这并不理想,需要额外的最终用户培训。

有没有人在这个领域有任何类似的经验和任何可能的解决方案/最佳实践。

4

3 回答 3

2

当您将远程资源映射为本地驱动器时,对于浏览器,这将成为本地驱动器。浏览器只能有限地访问本地文件系统。现在,当您向浏览器提供链接时,浏览器的默认行为是下载链接后面的资源,然后让本地应用程序处理它。浏览器只是不知道如何以不同的方式在本地打开远程资源。

解决方案是让浏览器下载一些东西(某种链接文件)并让一些本地帮助模块(外部应用程序或浏览器插件)打开此链接文件并在本地打开此链接文件中指定的位置。由于这将是一个客户端帮助模块,它将能够与客户端系统交互并知道如何打开提供的链接。鉴于每个系统上的虚拟驱动器号可能不同(如果将磁盘安装到驱动器号),帮助程序模块需要解析链接以指向正确的本地驱动器。如果您创建一个隐藏的虚拟驱动器(我们的虚拟存储产品允许您这样做),那么链接将类似于“\SomeFancyNameUniqueToYourApp\Path\To\File.ext”,并且不需要解析。大多数应用程序都可以很好地处理这种类型的路径。

我不确定,但浏览器可能会打开 Windows .lnk 文件而不需要辅助模块,并且使用隐藏的虚拟驱动器,您可以在服务器上生成一个 LNK 文件并让浏览器在本地打开它。但这只是一个猜测。我敢打赌,无论如何你都需要一个辅助模块。

于 2011-06-28T10:06:17.040 回答
1

ftp://username:password@hostname/类型的链接应该可以工作,并且 MS 应用程序在处理它们方面做得越来越好。虽然仍然不是 100%

于 2011-06-29T12:12:01.440 回答
0

试试 SMEStorage.com。它们使您能够映射本地 WebDav 和 FTP 服务器,并使用 Linux、Mac 或 Windows 上的云驱动器以及移动设备(iOS、Android、BlackBerry 和 Windows Phone 7)访问文件。您可以获得每个文件的唯一文件链接,还可以保护链接过期的文件共享。

于 2011-06-28T17:45:32.083 回答