Gestione del contenuto dei documenti
Per gestire il contenuto dei documenti, è possibile utilizzare il tipo di dati ECMContentStream per eseguire il wrap di uno stream di contenuto e restituire le informazioni relative allo stream. Un flusso di contenuto è un flusso di dati che contiene il contenuto di un documento, ad esempio un documento di elaborazione testi o un'immagine.
- Check in documento
- Crea documento
- Ottieni contenuto documento
- Impostare contenuto documento
Le informazioni su queste operazioni si trovano nell'argomento Associazione dati nelle operazioni di Enterprise Content Management.
Le proprietà per il tipo di dati ECMContentStream sono descritte nella tabella seguente:
| Nome proprietà | Descrizione |
|---|---|
| contentLength | La lunghezza del contenuto originale (non codificato) in byte. Se la proprietà è impostata, la lunghezza deve essere un numero positivo. Se la lunghezza è sconosciuta, la proprietà non deve essere impostata. |
| mimeType | Il tipo di supporto MIME del flusso di contenuto. Per il contenuto primario di un documento, il tipo di supporto MIME deve corrispondere al valore della proprietà cmis:contentStreamMimeType. Ad esempio, application / pdf. |
| fileName | Il nome file del flusso di contenuto. Per il contenuto primario di un documento, il nome del file deve corrispondere al valore della proprietà cmis:contentStreamFileName. |
| content | Il valore del documento. Deve essere di tipo String Base64 e codificato in UTF-8. |
Gli esempi funzionano solo su sistemi IBM Business Automation Workflow tradizionali e non su sistemi Workflow inseriti in un contenitore. Consultare il link della funzione obsoleta: https://www.ibm.com/docs/en/baw/22.x?topic=examples-calling-java-through-javascript-deprecated
// Script sample code to set and encode the document content
var value = "abc";
var bytesValue = new Packages.java.lang.String(value).getBytes("UTF-8");
tw.local.contentStream = new tw.object.ECMContentStream();
tw.local.contentStream.contentLength = bytesValue.length;
tw.local.contentStream.mimeType = "text/plain";
tw.local.contentStream.content = Packages.javax.xml.bind.DatatypeConverter.printBase64Binary(bytesValue);// Script sample code to get and decode the document content
var bytesValue = Packages.javax.xml.bind.DatatypeConverter.parseBase64Binary(tw.local.contentStream.content);
var value = new Packages.java.lang.String(bytesValue, "UTF-8");// Script sample code to set and encode the document content from a file
var file = new Packages.java.io.File(tw.local.fileName);
var bytesValue = Packages.org.apache.commons.io.FileUtils.readFileToByteArray(file);
tw.local.contentStream = new tw.object.ECMContentStream();
tw.local.contentStream.contentLength = file.length();
tw.local.contentStream.fileName = file.getName();
tw.local.contentStream.mimeType = "text/plain"; // provide your designated mime type here
tw.local.contentStream.content = Packages.javax.xml.bind.DatatypeConverter.printBase64Binary(bytesValue);// Script sample code to decode the document content and write it to a file
var bytesValue = Packages.javax.xml.bind.DatatypeConverter.parseBase64Binary(tw.local.contentStream.content);
var file = new Packages.java.io.File(tw.local.outputDirectory, tw.local.contentStream.fileName);
Packages.org.apache.commons.io.FileUtils.writeByteArrayToFile(file, bytesValue);