【问题标题】:How to get a file content from WebDAV via Apache Jackrabbit library?如何通过 Apache Jackrabbit 库从 WebDAV 获取文件内容?
【发布时间】:2016-03-07 21:15:05
【问题描述】:

有一个很好的例子展示了如何将文件放到 WebDAV 服务器上:

Java: How to upload a file to a WebDAV server from a servlet?

但是如何获取文件内容呢?

PUT 命令有MethodPut 类,但没有合适的GetMethod(尽管提供了枚举DavMethods.METHOD_GET)。

【问题讨论】:

  • 不幸的是,由于某种原因,Sardine 与我的 Oracle 服务器不兼容(服务器断开连接,尽管它与 Jackrabbit 的 PUT 工作正常)。

标签: java webdav jackrabbit


【解决方案1】:

我解决了任务 1) 为 GET 方法实现我自己的类 2) 读取代表文件内容的响应字节。我还是希望在 Jackrabbit 中找到更简单的解决方案。

public class MyGetMethod extends DavMethodBase {
    public MyGetMethod(String uri) {
        super(uri);
    }
    public String getName() {
        return DavMethods.METHOD_GET;
    }
    public boolean isSuccess(int statusCode) {
        return statusCode == 200;
    }
}

static void jackrabbitGet() throws Exception {
    HttpClient client = new HttpClient();
    Credentials creds = new UsernamePasswordCredentials("user", "pass");
    client.getState().setCredentials(AuthScope.ANY, creds);
    MyGetMethod method = new MyGetMethod(url goes here);
    client.executeMethod(method);
    if (method.isSuccess(method.getStatusCode())) {
        byte[] resp = method.getResponseBody();
        System.out.println("Got response: " + resp.length + " bytes");
    }
}

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 2023-04-05
    • 2012-06-08
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多