`
yiyu
  • 浏览: 187173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebDav的java客户端开发包:sardine

    博客分类:
  • java
阅读更多
最近需要对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.
		}
	}
}
分享到:
评论

相关推荐

    sardine:Java的易于使用的webdav客户端

    我看了看中的其他Java webdav客户端, 和 。 他们都没有按照我想要的方式做事。 记录了如何使用沙丁鱼。 如果您饿了,这是一个从远程Webdav服务器中检索目录列表的开胃菜: Sardine sardine = SardineFactory . ...

    slide-146jar包下载

    import com.googlecode.sardine.Sardine; import ...WebDav的java客户端开发包:sardine 适用于文件上传 请参考 作者:yiyu 来源:iteye 原文:https://yiyu.iteye.com/blog/892408

    webdav客户端中文版

    WebDAV客户端是用于与WebDAV服务器交互的软件,使得用户可以如同操作本地文件系统一样操作远程服务器上的文件。 标题中的"webdav客户端中文版"指的是支持中文界面的WebDAV客户端软件,这为中文用户提供了更加友好的...

    sardine-android:适用于Android的WebDAV库

    沙丁鱼android ...创建一个Sardine客户端: Sardine sardine = new OkHttpSardine(); sardine.setCredentials("username", "password"); 使用客户端向您的WebDAV服务器发出请求: List&lt;DavResource&gt; r

    支持Webdav的客户端AnyClient

    - 开发团队:团队成员可以在WebDAV服务器上共享代码,实时查看彼此的更改,同时避免冲突。 - 远程工作者:通过AnyClient,员工可以从任何地方访问公司内部服务器上的文件,提高工作效率。 - 文件共享:家庭或团队...

    java webdav客户端程序DAV Explorer

    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 ...

    fs3webdav:Linux webDAV客户端:自动通知和下载新文件-开源

    为多服务器,多服务器类型,添加到远程服务器的文件提供文件下载/文件通知功能的webdav客户端。 按照用户提供的时间间隔,对远程服务器进行轮询,以查看已添加到远程服务器的文件。 当找到新文件时,它可以为您下载...

    WebDAVClient:适用于webdav协议的android客户端

    WebDAVClient是一款专为Android平台设计的客户端应用,它实现了对WebDAV协议的支持,使得用户能够在Android设备上方便地访问和管理支持WebDAV协议的远程服务器上的文件。WebDAV是基于HTTP协议的扩展,用于进行分布式...

    android webdav工具类

    Jackrabbit是Apache基金会的一个开源项目,它提供了一个全面的Java Content Repository (JCR) 实现,也支持WebDAV协议。在Android中,如果需要用到更复杂的文件管理和版本控制功能,可以考虑使用Jackrabbit库。 4....

    webDav客户端

    WebDAV 是一个重要的网络通信协议,基于 WebDAV 可以开发出丰富多彩的应用程序,例如云计算、办公自动化、数据仓库、流媒体等。本文首先介绍了 WebDAV、JCR 的概念,并介绍了如何使用 Jackrabbit 实现一个 WebDAV 的...

    webdav-js:用JS编写的简单WebDAV客户端,用作书签或集成到Web服务器

    webdav-js 一种从浏览器管理WebDAV文件系统的简单方法。 该项目的最初目的是提供一个书签,以便在您要管理WebDAV服务器时使用,而无需使用第三方应用程序。 此后,该应用程序已被重写为不依赖jQuery,而是使用更...

    DavUtils:强大的Webdav客户端和同步工具以及客户端AES加密-开源

    DavUtils是易于使用的WebDAV客户端工具的集合。 内置的客户端加密允许您使用AES即时加密和解密文件。 当前有两个命令行工具可用:dav是一个多用途WebDAV客户端,可以像标准的UNIX工具ls,mkdir和rm一样使用。 另一个...

    阿里云java源码-webdav-aliyundriver:阿里云盘(https://www.aliyundrive.com/)的webdav

    阿里云java源码 说明:支持阿里Teambition网盘的webdav协议,后续的2.x版本仅支持阿里云盘,不再维护Teambition网盘版本 webdav-aliyundriver 本项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让...

    java源码:WebDAV网关 Davenport.rar

    Davenport是Java实现的一个WebDAV网关,它允许开发者将任何可以读写数据的Java接口暴露为WebDAV资源,从而简化了对分布式协作编辑和版本控制的需求。 Davenport项目的核心概念是提供一个中间件,该中间件能够接收...

    catalyst:Elixir的基本WebDav客户端

    催化剂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位WebDAV客户端** AnyClient是一款多协议文件传输工具,它为用户提供了一种方便的方式来访问和管理远程服务器上的文件。这款工具的64位版本专为处理更大内存需求和提高性能而设计,适用于Windows操作...

    WebDav_Client.zip

    可以通过下面列表中描述的任意一种 Microsoft 产品或通过其他任意的支持行业标准 WebDAV 协议的客户端来访问 WebDAV 发布目录。 ·Windows XP 通过“添加网上邻居向导”与 WebDAV 服务器连接,并显示 WebDAV 目录中...

    webdav-client:用JavaScript为NodeJS和浏览器编写的WebDAV客户端

    一个用Typescript编写的WebDAV客户端,用于NodeJS和浏览器关于WebDAV是一种众所周知的,稳定且高度灵活的协议,用于通过API与远程文件系统进行交互。 由于它是如此广泛,因此许多文件托管服务(例如Box , Nextcloud...

    ghost-webdav-storage-adapter:用于Ghost发布平台的WebDAV存储适配器

    用于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请求

    Qt实现WebDav请求,基于QNetworkAccessManager、QNetworkReply、QNetworkRequest调用qt自带得sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QHttpMultiPart *multiPart)接口实现

Global site tag (gtag.js) - Google Analytics