最近需要对WebDav服务器进行操作,查找了一下,基于java的开发包主要有这几个:
slide
Jackrabbit
sardine
webdavclient4j
其中slide是apache的一个老的项目,url是http://jakarta.apache.org/slide/,这个
项目已经退休了,在它的项目主页上推荐使用Jackrabbit项目。
Jackrabbit是一个jcr实现,其中包括WebDav的服务器端和客户端。
webdavclient4j我没看,因为我先找到了sardine,项目主页是http://code.google.com/p/sardine/,
它最大的特点就是简单,使用非常简单,但项目主页也说了它并不是一个全面的实
现,它只实现了WebDav的常用命令。
下面是我在DAY的CQ5服务器(基于Jackrabbit)上的试验代码,代码创建了一个目录,然后
向这个目录上传了一个jpg文件,最后列出了这个目录的内容。
其中http://host:4502/crx/repository/crx.default是WebDav服务器的根路径,代码非常
简单,唯一需要注意的是路径为目录时,记着最后要有“/”。
package xxx;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;
import com.googlecode.sardine.DavResource;
import com.googlecode.sardine.Sardine;
import com.googlecode.sardine.SardineFactory;
import com.googlecode.sardine.util.SardineException;
public class TestSardine {
/**
* @param args
* @throws SardineException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws SardineException, FileNotFoundException {
Sardine sardine = SardineFactory.begin("admin", "admin");
if (sardine.exists("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/")) {
System.out.println("/content/dam folder exists");
}
sardine.createDirectory("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/");
InputStream fis = new FileInputStream(new File("img12.jpg"));
sardine.put("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/img12.jpg", fis);
List<DavResource> resources = sardine.getResources("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/");
for (DavResource res : resources)
{
System.out.println(res); // calls the .toString() method.
}
}
}
分享到:
相关推荐
我看了看中的其他Java webdav客户端, 和 。 他们都没有按照我想要的方式做事。 记录了如何使用沙丁鱼。 如果您饿了,这是一个从远程Webdav服务器中检索目录列表的开胃菜: Sardine sardine = SardineFactory . ...
import com.googlecode.sardine.Sardine; import ...WebDav的java客户端开发包:sardine 适用于文件上传 请参考 作者:yiyu 来源:iteye 原文:https://yiyu.iteye.com/blog/892408
WebDAV客户端是用于与WebDAV服务器交互的软件,使得用户可以如同操作本地文件系统一样操作远程服务器上的文件。 标题中的"webdav客户端中文版"指的是支持中文界面的WebDAV客户端软件,这为中文用户提供了更加友好的...
沙丁鱼android ...创建一个Sardine客户端: Sardine sardine = new OkHttpSardine(); sardine.setCredentials("username", "password"); 使用客户端向您的WebDAV服务器发出请求: List<DavResource> r
- 开发团队:团队成员可以在WebDAV服务器上共享代码,实时查看彼此的更改,同时避免冲突。 - 远程工作者:通过AnyClient,员工可以从任何地方访问公司内部服务器上的文件,提高工作效率。 - 文件共享:家庭或团队...
DAV Explorer is a Java application which uses Java 2 and has successfully been run on Microsoft Windows from Windows 95 to Server 2003, Solaris and Linux. It has been reported to run on Macintosh ...
为多服务器,多服务器类型,添加到远程服务器的文件提供文件下载/文件通知功能的webdav客户端。 按照用户提供的时间间隔,对远程服务器进行轮询,以查看已添加到远程服务器的文件。 当找到新文件时,它可以为您下载...
WebDAVClient是一款专为Android平台设计的客户端应用,它实现了对WebDAV协议的支持,使得用户能够在Android设备上方便地访问和管理支持WebDAV协议的远程服务器上的文件。WebDAV是基于HTTP协议的扩展,用于进行分布式...
Jackrabbit是Apache基金会的一个开源项目,它提供了一个全面的Java Content Repository (JCR) 实现,也支持WebDAV协议。在Android中,如果需要用到更复杂的文件管理和版本控制功能,可以考虑使用Jackrabbit库。 4....
WebDAV 是一个重要的网络通信协议,基于 WebDAV 可以开发出丰富多彩的应用程序,例如云计算、办公自动化、数据仓库、流媒体等。本文首先介绍了 WebDAV、JCR 的概念,并介绍了如何使用 Jackrabbit 实现一个 WebDAV 的...
webdav-js 一种从浏览器管理WebDAV文件系统的简单方法。 该项目的最初目的是提供一个书签,以便在您要管理WebDAV服务器时使用,而无需使用第三方应用程序。 此后,该应用程序已被重写为不依赖jQuery,而是使用更...
DavUtils是易于使用的WebDAV客户端工具的集合。 内置的客户端加密允许您使用AES即时加密和解密文件。 当前有两个命令行工具可用:dav是一个多用途WebDAV客户端,可以像标准的UNIX工具ls,mkdir和rm一样使用。 另一个...
阿里云java源码 说明:支持阿里Teambition网盘的webdav协议,后续的2.x版本仅支持阿里云盘,不再维护Teambition网盘版本 webdav-aliyundriver 本项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让...
Davenport是Java实现的一个WebDAV网关,它允许开发者将任何可以读写数据的Java接口暴露为WebDAV资源,从而简化了对分布式协作编辑和版本控制的需求。 Davenport项目的核心概念是提供一个中间件,该中间件能够接收...
催化剂Elixir的非常基本的WebDav客户端。 使用:hackney作为HTTP驱动程序用法 # Start a genserver processCatalyst . start_link host: " http://example-webdav.com " , user: " some_user " , password: " 123 "#...
**AnyClient 64位WebDAV客户端** AnyClient是一款多协议文件传输工具,它为用户提供了一种方便的方式来访问和管理远程服务器上的文件。这款工具的64位版本专为处理更大内存需求和提高性能而设计,适用于Windows操作...
可以通过下面列表中描述的任意一种 Microsoft 产品或通过其他任意的支持行业标准 WebDAV 协议的客户端来访问 WebDAV 发布目录。 ·Windows XP 通过“添加网上邻居向导”与 WebDAV 服务器连接,并显示 WebDAV 目录中...
一个用Typescript编写的WebDAV客户端,用于NodeJS和浏览器关于WebDAV是一种众所周知的,稳定且高度灵活的协议,用于通过API与远程文件系统进行交互。 由于它是如此广泛,因此许多文件托管服务(例如Box , Nextcloud...
用于Ghost的WebDAV存储适配器 用于发布平台3.x的WebDAV存储适配器 安装 npm install ghost-webdav-storage-adapter mkdir -p ./content/adapters/storage/webdav cp -v ./node_modules/ghost-webdav-storage-adapter...
Qt实现WebDav请求,基于QNetworkAccessManager、QNetworkReply、QNetworkRequest调用qt自带得sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QHttpMultiPart *multiPart)接口实现