通过互联网共享文件 - WebDAV / SMB / FTP

时间:2011-06-28 09:34:25

标签: ftp webdav smb cifs

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

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

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

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

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

是否有任何此类领域的类似经验以及任何可能的解决方案/最佳实践。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

ftp://username:password@hostname/类型链接应该可以使用,并且MS应用程序在处理它们时会越来越好。仍然不是100%但是

答案 2 :(得分:0)

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