如何访问露天文件?

时间:2017-07-23 09:41:13

标签: alfresco opencmis

我创建了一个露天放大器项目。 要添加文档,我运行此Test类:

---------------------
| stores | products |
---------------------
|  st1   |   pr1    |
|  st1   |   pr2    |
|  st1   |   pr3    |

|  st2   |   pr1    |
|  st2   |   pr2    |
|  st2   |   pr3    |

|  st3   |   pr1    |
|  st3   |   pr2    |
|  st3   |   pr3    |

该文件成功创建;我得到了:public class Test { public static void main(String[] args) throws UnsupportedEncodingException { Map<String, String> sessionParameters = new HashMap<String, String>(); sessionParameters.put(SessionParameter.USER, "admin"); sessionParameters.put(SessionParameter.PASSWORD, "admin"); sessionParameters.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom"); sessionParameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); Session lSession = sessionFactory.getRepositories(sessionParameters).get(0).createSession(); Folder root = lSession.getRootFolder(); Map<String, Object> folderProperties = new HashMap<String, Object>(); folderProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); folderProperties.put(PropertyIds.NAME, "oo"); Folder newFolder = root.createFolder(folderProperties); Map<String, Object> lProperties = new HashMap<String, Object>(); String name = "lol.txt"; lProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document"); lProperties.put(PropertyIds.NAME, name); byte[] content = "CMIS Testdata One".getBytes(); InputStream stream = new ByteArrayInputStream(content); ContentStream contentStream = new ContentStreamImpl(name, new BigInteger(content), "text/plain", stream); Document newContent1 = newFolder.createDocument(lProperties, contentStream, null); System.out.println("Document created: " + newContent1.getId()); } }

我的问题是如何访问此文档(我可以使用哪个URL访问该文档)。 请帮忙?。

1 个答案:

答案 0 :(得分:1)

看起来您已经创建了一个文档,现在您想知道要使用哪个URL来实现它。你有很多选择,其中一些包括......

  1. 使用Alfresco网络应用的下载网址:

    http://localhost:8080/alfresco/s/api/node/workspace/SpacesStore/dac36aab-dd49-4abc-a4bc-0e0d5729c9ad/content;cm%3Acontent

  2. 使用“共享网络应用”的下载网址:

    http://localhost:8080/share/proxy/alfresco/slingshot/node/content/workspace/SpacesStore/dac36aab-dd49-4abc-a4bc-0e0d5729c9ad/test.txt

  3. 使用CMIS URL(AtomPub绑定):

    http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom/content/test.txt?id=dac36aab-dd49-4abc-a4bc-0e0d5729c9ad%3B1.0

  4. 使用CMIS URL(浏览器绑定):

    http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root?objectId=dac36aab-dd49-4abc-a4bc-0e0d5729c9ad%3B1.0&cmisselector=content

  5. 编写您自己的URL处理程序,通过CMIS获取输入流并将该流返回给请求者。假设您使用的是Spring MVC,其代码可能如下:

    public InputStream download(String objectId) {
        Session session = getSession();
        CmisObject obj = session.getObject(objectId);
        Document doc = null;
        if (obj.getBaseTypeId().equals(BaseTypeId.CMIS_DOCUMENT)) {
            doc = (Document) obj;
        }
        return doc.getContentStream().getStream();
    }
    
  6. 上述每个选项都假设测试文件夹名为&#34; test.txt&#34;使用Alfresco节点参考:

    工作区:// SpacesStore / dac36aab-dd49-4abc-a4bc-0e0d5729c9ad

    CMIS对象ID:

    dac36aab-dd49-4abc-a4bc-0e0d5729c9ad; 1.0