alfresco - 使用 java 实现在 Alfresco 中上传文件

标签 alfresco

给我推荐使用 java 将文件上传到 Alfresco 的任何基本示例。我是 Alfresco 的新手。

最佳答案

这是一个使用 Python 和 cmislib 的例子:

>>> from cmislib import CmisClient
>>> client = CmisClient('http://cmis.alfresco.com/cmisatom', 'admin', 'admin')
>>> repo = client.defaultRepository
>>> root = repo.rootFolder
>>> someFolder = root.createFolder('someFolder')
>>> someFile = open('test.txt', 'r')
>>> someDoc = someFolder.createDocument('Test Document', contentFile=someFile)

这里是一个使用 Java 和 OpenCMIS 的例子:

// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();

// user credentials
parameter.put(SessionParameter.USER, "Otto");
parameter.put(SessionParameter.PASSWORD, "****");

// connection settings
parameter.put(SessionParameter.ATOMPUB_URL, "http://<host>:<port>/cmis/atom");
parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
parameter.put(SessionParameter.REPOSITORY_ID, "myRepository");

// create session
Session session = factory.createSession(parameter);
Folder root = session.getRootFolder();

// properties
// (minimal set: name and object type id)
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
properties.put(PropertyIds.NAME, "a new folder");

// create the folder
Folder parent = root.createFolder(properties);

String name = "myNewDocument.txt";

// properties 
// (minimal set: name and object type id)
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
properties.put(PropertyIds.NAME, name);

// content
byte[] content = "Hello World!".getBytes();
InputStream stream = new ByteArrayInputStream(content);
ContentStream contentStream = new ContentStreamImpl(name, BigInteger.valueOf(content.length), "text/plain", stream);

// create a major version
Document newDoc = parent.createDocument(properties, contentStream, VersioningState.MAJOR);

关于alfresco - 使用 java 实现在 Alfresco 中上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636108/

相关文章:

java - Alfresco 工作流触发器通过 Java 代码

java - <bpmndi :BPMNShape> Is Missing for participant and lane element in xml when trying to create pool and lane from java source

web-services - Alfresco 和 webapp tomcat 并行

javascript - 如何更改 Alfresco ftl (freemarker) 控件的基域?

java - 下载为具有自定义文件夹类型的 Zip 文件夹

python - 使用 Python 和 Alfresco API 上传文件

javascript - 通过 Web 脚本的 javascript Controller 访问 Alfresco 的 alfresco-global.properties 文件中的值?

javascript - Alfresco使用CMIS获取文档路径

java - 是否可以使用Alfresco作为JCR框架?

java - 在关键字段中查找带有通配符的节点