java servlet 文件服务器,Java:如何从servlet上传文件到WebDAV服务器?

锺离声
2023-12-01

(从here拍摄)WebDAV用户端将内容上传到WebDAV服务器的一个例子:

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.net.URL;

import org.apache.commons.httpclient.Credentials;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpException;

import org.apache.commons.httpclient.UsernamePasswordCredentials;

import org.apache.commons.httpclient.auth.AuthScope;

import org.apache.commons.httpclient.methods.InputStreamRequestEntity;

import org.apache.commons.httpclient.methods.RequestEntity;

import org.apache.jackrabbit.webdav.client.methods.PutMethod;

...

// WebDAV URL:

final String baseUrl = ...;

// Source file to upload:

File f = ...;

try{

HttpClient client = new HttpClient();

Credentials creds = new UsernamePasswordCredentials("username", "password");

client.getState().setCredentials(AuthScope.ANY, creds);

PutMethod method = new PutMethod(baseUrl + "/" + f.getName());

RequestEntity requestEntity = new InputStreamRequestEntity(

new FileInputStream(f));

method.setRequestEntity(requestEntity);

client.executeMethod(method);

System.out.println(method.getStatusCode() + " " + method.getStatusText());

}

catch(HttpException ex){

// Handle Exception

}

catch(IOException ex){

// Handle Exception

}

 类似资料: