0

我正在尝试在 JCR 存储库中通过沙丁鱼添加一个 zip 文件。已经建了一个小测试用例。

    public void getFileTest() {
    String baseUrl = "http://localhost:8380/jackrabbit/repository";
    Sardine sardine = SardineFactory.begin("guest", "guest");
    ContentLengthInputStream is = null;
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpParams httpParams = httpClient.getParams();
    HttpConnectionParams.setConnectionTimeout(httpParams, this.connectTimeout);
    HttpConnectionParams.setSoTimeout(httpParams, this.socketTimeout);
    HttpConnectionParams.setStaleCheckingEnabled(httpParams, true);
    SardineImpl sar = new SardineImpl(httpClient);
    sar.setCredentials("guest", "guest");

    try {
    java.io.File file = new java.io.File("D:\\Software\\vfabric-tc-server-developer-2.7.0.RELEASE\\lcs_campus\\webapps\\learningPlatform\\static\\dummyInlineAuthoringContent.zip");
    FileInputStream fis=new FileInputStream(file);
    MimetypesFileTypeMap mimeType = new MimetypesFileTypeMap();
    byte[] byteArray=IOUtils.toByteArray(fis);
    sar.put(baseUrl + "/content/a/d/admin-admin-admin--admin-admin-admin/Library/rejesh1/dummyInline233.txt",byteArray);
    fis.close();    
    } catch (IOException e) {
        e.printStackTrace();
    }
}

问题是插入的 zip 文件中的文件结构与源文件的文件结构相同,但所有文件的内容(zip 内部)都丢失了。为这个问题发疯!..请帮助!!!!

4

1 回答 1

1

默认情况下,Jackrabbit 会尝试处理上传的 zip 文件,这可能会导致大于一些 kB 的文件出现问题。您可以在 Jackrabbits WEB-INF/config.xml 中更改它,只需注释掉那里的 zip-manager。

你可以在这里找到更详细的信息:http: //juergen-baier.com/2014/04/19/uploading-zip-files-to-jackrabbit-via-webdav/

于 2014-04-19T10:24:35.340 回答