我创建了一个露天放大器项目。 要添加文档,我运行此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访问该文档)。 请帮忙?。
答案 0 :(得分:1)
看起来您已经创建了一个文档,现在您想知道要使用哪个URL来实现它。你有很多选择,其中一些包括......
使用Alfresco网络应用的下载网址:
使用“共享网络应用”的下载网址:
使用CMIS URL(AtomPub绑定):
使用CMIS URL(浏览器绑定):
编写您自己的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();
}
上述每个选项都假设测试文件夹名为&#34; test.txt&#34;使用Alfresco节点参考:
工作区:// SpacesStore / dac36aab-dd49-4abc-a4bc-0e0d5729c9ad
CMIS对象ID:
dac36aab-dd49-4abc-a4bc-0e0d5729c9ad; 1.0