2015-12-03 3 views
0

Существует хороший пример, показывающий, как поместить файл на WebDAV сервер:Как получить содержимое файла из WebDAV через библиотеку Apache Jackrabbit?

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

Но как я могу получить содержимое файла?

Существует класс MethodPut для команды PUT, но нет соответствующего GetMethod (хотя представлен перечисление DavMethods.METHOD_GET).

+0

https://github.com/lookfirst/sardine/wiki/UsageGuide#inputstream-getstring-url не работает? –

+0

К сожалению, Sardine по какой-то причине несовместима с моим сервером Oracle (сервер отключает соединение, хотя он отлично работает с PUT Jackrabbit). –

ответ

0

Я решил задачу: 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"); 
    } 
} 
+0

Вы должны отметить свой ответ как решение. –

Смежные вопросы