A service for accessing and transforming content.
Information | ContentService |
---|---|
Support Status | Full Support |
Architecture Information | Platform Architecture |
Description | The ContentService provides an API for accessing and transforming content. You
may want to read the content associated with a node, or transform the content from
one format to another, for example from .ppt to
.pdf. Methods provided by the API includes functionality to:
|
Deployment - App Server | Deploy as AMP or Simple Module (JAR) package. |
Deployment - SDK Project | Use SDK archetypes to produce AMP or Simple Module. |
Java API | Java API Documentation |
Java example |
// Read data associated with a content NodeRef (plain text) ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT); // Reading the data content of a NodeRef (binary) ContentReader reader = contentService.getReader(nodeRef, ContentModel.PROP_CONTENT); InputStream originalInputStream = reader.getContentInputStream(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final int BUF_SIZE = 1 << 8; //1KiB buffer byte[] buffer = new byte[BUF_SIZE]; int bytesRead = -1; while((bytesRead = originalInputStream.read(buffer)) > -1) { outputStream.write(buffer, 0, bytesRead); } originalInputStream.close(); byte[] binaryData = outputStream.toByteArray(); // Writing data to a node's content ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true); writer.putContent(new ByteArrayInputStream(content)); // Writing a file's data to a node's content ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true); writer.setLocale(CONTENT_LOCALE); File file = new File("c:/temp/images/BigCheese1.bmp"); writer.setMimetype("image/bmp"); writer.putContent(file); // Transforming a PPT to PDF (also works for other file formats) ContentReader pptReader = contentService.getReader(pptNodeRef, ContentModel.PROP_CONTENT); ContentWriter pdfWriter = contentService.getWriter(pdfNodeRef, ContentModel.PROP_CONTENT, true); ContentTransformer pptToPdfTransformer = contentService.getTransformer(MimetypeMap.MIMETYPE_PPT, MimetypeMap.MIMETYPE_PDF); pptToPdfTransformer.transform(pptReader, pdfWriter); /** * Creates a new content node setting the content provided. * * @param parent the parent node reference * @param name the name of the newly created content object * @param text the content text to be set on the newly created node * @return NodeRef node reference to the newly created content node */ private NodeRef createContentNode(NodeRef parent, String name, String text) { // Create a map to contain the values of the properties of the node Map<QName, Serializable> props = new HashMap<QName, Serializable>(1); props.put(ContentModel.PROP_NAME, name); // use the node service to create a new node NodeRef node = this.nodeService.createNode( parent, ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, name), ContentModel.TYPE_CONTENT, props).getChildRef(); // Use the content service to set the content onto the newly created node ContentWriter writer = this.contentService.getWriter(node, ContentModel.PROP_CONTENT, true); writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN); writer.setEncoding("UTF-8"); writer.putContent(text); // Return a node reference to the newly created node return node; } |
More Information | |
Tutorials | None |
SkyVault Developer Blogs | None |