从应用程序创建新目录

时间:2012-08-02 09:46:53

标签: tomcat directory webdav

使用tomcat webdav,目前我可以将文件/文档上传到特定的webdav位置。在这种程度上,它很好。

但是现在我要求我必须在webdav位置创建一个新目录(基于条件),并将文件或文档上传到新创建的目录中。

这是我必须通过Java实现的。 我尝试使用file.mkdir()创建一个目录。但它对我来说是假的。

任何人都可以说明如何克服这种情况?

亲切的问候

Subbu

2 个答案:

答案 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);
    }
}