使用tomcat webdav,目前我可以将文件/文档上传到特定的webdav位置。在这种程度上,它很好。
但是现在我要求我必须在webdav位置创建一个新目录(基于条件),并将文件或文档上传到新创建的目录中。
这是我必须通过Java实现的。 我尝试使用file.mkdir()创建一个目录。但它对我来说是假的。
任何人都可以说明如何克服这种情况?
亲切的问候
Subbu
答案 0 :(得分:1)
建立与WebDAV服务的HTTP连接并发出MKCOL请求(MKCOL就像GET,POST等)。像这样:
MKCOL /the/directory/you/want/to/create HTTP/1.1
您应该期待201响应。如果你得到别的东西,就意味着目录创建失败了。
答案 1 :(得分:0)
谢谢Christopher !!
我想说明使用示例应用程序创建webdav文件夹的代码。
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.auth.*;
import org.apache.jackrabbit.webdav.client.methods.*;
import java.io.*;
public class CreateWebdavFolderUsingHttpClient
{
private static String url = "http://localhost:8081/webdav/subbu/MyWebdavFolder";
/**
* DOCUMENT ME!
*
*/
public static void main(String[] args)
{
String response = null;
// Create an instance of HttpClient.
HttpClient client = new HttpClient();
client.getState().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials("tomcat", "tomcat"));
DavMethod method = new MkColMethod(url);
try
{
client.executeMethod(method);
response = method.getStatusCode() + " ----- " + method.getStatusText();
client.executeMethod(new MkColMethod(url + "/10300"));
response = method.getStatusCode() + " ----- " + method.getStatusText();
}
catch (IOException ex)
{
}
finally
{
method.releaseConnection();
}
System.out.println(response);
}
}