相关疑难解决方法(0)

从JCR文件节点获取文件

我有以下代码将"rose.gif"插入到roseNode中.但是如何从存储库中检索文件?

    Node roseNode = session.getRootNode().getNode("wiki:encyclopedia/wiki:entry[1]/");

    File file = new File("rose.gif");
    MimeTable mt = MimeTable.getDefaultTable();
    String mimeType = mt.getContentTypeFor(file.getName());
    if (mimeType == null) mimeType = "application/octet-stream";

    Node fileNode = roseNode.addNode(file.getName(), "nt:file");

    System.out.println( fileNode.getName() );

    Node resNode = fileNode.addNode("jcr:content", "nt:resource");
    resNode.setProperty("jcr:mimeType", mimeType);
    resNode.setProperty("jcr:encoding", "");
    resNode.setProperty("jcr:data", new FileInputStream(file));
    Calendar lastModified = Calendar.getInstance();
    lastModified.setTimeInMillis(file.lastModified());
    resNode.setProperty("jcr:lastModified", lastModified);

    //retrieve file and output as rose-out.gif
    File outputFile = new File("rose-out.gif");
    FileOutputStream out = new FileOutputStream(outputFile);
Run Code Online (Sandbox Code Playgroud)

file-io file jackrabbit jcr jsr170

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

file ×1

file-io ×1

jackrabbit ×1

jcr ×1

jsr170 ×1