java - 通过 sardine-webdav -jcr 添加 zip 文件

标签 java repository jcr sardine

我正在尝试通过 JCR 存储库中的 sardine 添加 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 内)的内容。 为这个问题而疯狂!..请帮忙!!!!!!

最佳答案

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

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

关于java - 通过 sardine-webdav -jcr 添加 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21987352/

相关文章:

java - Spring 4 使用基于类的数​​据库初始化而不是 xml bean

git - 如何将贡献者(而非合作者)添加到私有(private) GitHub 存储库?

java - 如何使用 JCR 中的 SQL 从子名中检索父名

git - 如何修改 git 存储库的历史以显示内容是从另一个存储库导入的?

java - Magnolia JCR 获取 LinkedList 属性项

java - 如何在 JCR SQL2 查询中转义动态生成的字符串值?

java - 使用 Spring MVC + Freemarker 处理用户特定日期/时区转换的最佳方法

java - OOP 中是否有交叉引用类的良好用例? (A 类引用 B,B 引用 A)

java - Sencha GXT Grid 小部件 ListStore.getAll() 仅返回部分数据

entity-framework - 带有 EF4、IoC(Unity)和存储库的工作单元属于哪里?