对于当前的项目,我是思考的执行WebDAV出一个虚拟的文件存储户可以访问。我只做了谷歌研究迄今为止,但它看起来像我可以逃脱,只有实现了两种方法:

GET, PROPFIND

我认为,这是巨大的。我只是好奇的。如果我想要实现文件上载的通过:

PUT

我还没有实现,但是它似乎很简单。我唯一担心是否是一个进度表将显示用户,如果他们使用标准Vista资源管理器或OS x查找。

我猜我在寻找一些故事从人民经历了与WebDAV。

有帮助吗?

解决方案

对于许多WebDAV客户端,甚至只读访问,你还需要支持选项。如果你想支持上传,显然PUT是必需的,一些客户端(MacOS X系统?)需要锁定的支持。

(顺便说一句, RFC 4918 是信息的权威性源)。

其他提示

我实施的大多数WebDAV协议中有关一天的工作: http://github.com/nfarina/simpledav

我写在Python运行在谷歌上应用程序的发动机,并且我期望任何其他语言将是一个类似的努力。所有的一切,它是关于两页码。

我实施以下方法:选项,PROPFIND,MKCOL、删除、移动、放,得到的。到目前为止,我已经测试过发送和cyber duck和这两个伟大工作。

希望这可以提供一些指导下一个人有感兴趣的实施WebDAV服务器。这不是一个困难的协议,它只是非常密集的用抽象语言等"深度"和"收藏",等等。

这里的规格: http://www.webdav.org/specs/rfc4918.html

但是,最好的办法理解的协议是看客户相互作用工作服务器。我用发射连接到Box.net's WebDAV服务和监测交通与查尔斯*代理。

位迟到了,但我实现了最WebDAV协议的,我可以自信地告诉你需要实现大部分的协议。

有关OS / X则需要2类WebDAV支持,其包括锁定和解锁(我发现它特别难以充分执行HTTP如果:头,但对于搜索你只需要一点一点。 )

这些是我的一些个人的发现:

http://sabre.io/dav/clients/windows/ http://sabre.io/dav/clients/finder/

希望这有助于

如果您在,比如说运行Apache兔崽子,Tomcat的,它可以被配置为提供的WebDAV和存储上传的文件。也许这将是一个有用的模型,或者计划实施甚至足够好的替代品。

阿帕奇贾卡拉比特支持WebDAV的

此外,你可能想知道的BitKinex客户端(免费30天试用版),这是我发现是用于测试WebDAV服务器一个有用的工具。

BitKinex主页

我们使用WebDAV在内部提供一些文件共享给客户一个基于文件夹的视图我们的防火墙之外。我们使用IIS6这一点。

基本上,它归结为在IIS中创建一个虚拟目录映射到要通过WebDAV,使每个可用网络文件系统。从“位于另一台计算机上的共享”来的内容进行设置 - 使用UNC路径对共享的网络目录值。我们打开除索引此资源的所有选项。禁用所有默认的内容页。打开Windows集成身份验证(我们设置使用SSL以及)。我有根设置为拒绝访问匿名,并允许访问任何身份验证的用户。我们也有一个通配符MIME映射(。*应用程序/八位字节流)。启用IIS WebDAV的Web服务扩展。您还需要设置Web服务器权限委派到所有你可能被访问,因此可以通过对用户的凭据的文件服务器。

如果您有Macintosh客户端,你可能还需要一个ISAPI筛选器,地图达尔文客户401至403错误。微软和苹果就如何处理这种情况不同意,当你没有写权限的目录。苹果一直在重新发送401(拒绝访问)错误的凭证,将其转换成403(禁止)错误的发生保持这一点。默认情况下,苹果喜欢写一个“点”文件,每次访问的目录。通过目录,你没有写访问将最终崩溃的搜索导航,如果你不具备的过滤器。我有源代码本如果需要的话。

这是所有从我的头顶。这是可能的(可能?),我可能错过了一些东西。随时通过信息上,如果你有问题,我的网站联系方式与我联系。

我们对我们的基于Web的产品一个WebDAV的servlet。

我已经找到的Apache兔崽子实现它有很好的帮助。然而WebDAV是在客户端支撑一个严重P.I.T.A。

许多客户实现他们的行为有很大的不同,你很可能将不得不支持几种不同类型的窃听实现的。

一些例子: MS远景仅支持通过SSL认证

基于WebDAV客户假设你的WebDAV的服务器/令是一个SharePoint Server和将采取相应的行动(因此不是根据WebDAV协议)大多数窗口

这样的一个例子是,你需要让和你的服务器的根目录未经身份LOCK请求(即yourdomain.com/不yourdomain.com/where/webdav/should/live)否则您将无法获得写ACCES在MS窗口。 (这是一个tomcat的机器在那里你的东西usualy住在server.com/servlets/paths/thelocation产生严重P.I.T.A)

MS办公室的大多数(所有?)版本响应WebDAV的链接不同。

我想我的观点是整合支持WebDAV到现有的产品可以是很多困难,那么你期望的那样。如果可能的话我会建议使用一个(半)-standalone WebDAV服务器如兔崽子webdavServer,或Apache mod_webdav

我发现OS X的Finder支持WebDAV是真的挑剔。为了获得读 - 写支持,你必须实现锁定,除了其他位。

我写了WebDAV的接口到Postres数据库,其中python模块被存储在数据库中以分层文件夹状结构。与尸体访问它工作得很好,并IIRC一个GUI窗口浏览器工作过,但查找拒绝安装共享作为任何其他比只读的。

所以,我不知道是否会给一个进度条。我正在处理这些文件足够小,从他们的读/复制几乎是瞬间完成的。我认为使用查找可能会给出一个进度条大文件的一个副本 - 它为任何其他类型的安装份额

下面是用于WSGI WebDAV的另一个开源项目      http://code.google.com/p/wsgidav/ 其中I拿起PyFileServer项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top