AnsweredAssumed Answered

Cargar archivos a Alfresco mediante WS

Question asked by jota on Sep 19, 2008
buenas.

Estoy haciendo una aplicación de prueba en java utilizando el API de servicios Web basándome en los ejemplos que vienen con el SDK de Alfresco (FistWebServceClient, etc). Por ahora me funciona la autenticación en Alfresco a través de mi aplicación, crear carpetas y generar ficheros txt y subirlos a la carpeta creada (lo que viene en los ejemplos, nada nuevo).

El código del SDK para subir contenido es el siguiente:

// Crear el contenido
        NamedValue[] properties = new NamedValue[]{Utils.createNamedValue(Constants.PROP_NAME, nombreArchivo)};
        CMLCreate create = new CMLCreate("1", parentReference, null, null, null, Constants.TYPE_CONTENT, properties);
        CML cml = new CML();
        cml.setCreate(new CMLCreate[]{create});
        UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);

        // Get the created node and create the format
        Reference newContentNode = results[0].getDestination();
        ContentFormat format = new ContentFormat(mimetype, "UTF-8"); 

        // Open the file and convert to byte array
        InputStream viewStream = newContentNode.getClass().getClassLoader().getResourceAsStream(rutaArchivo);
        byte[] bytes = ContentUtils.convertToByteArray(viewStream);

        // Write the content
        WebServiceFactory.getContentService().write(newContentNode, Constants.PROP_CONTENT, bytes, format);

Y ahora vienen los problemas:

1. ¿Cómo obtener el mimetype del archivo?
2. ¿Cómo subir archivos sin límite de tamaño? El array de bytes es limitado y con ficheros pesados da error.
3. ¿Cómo trabajar con ficheros disponibles en el equipo del usuario y no en el equipo donde está instalado Alfresco?

Según he leido la solución es utilizar el servlet UploadContentServlet pero no tengo ni idea de cómo usarlo (si se puede) desde la aplicación java.

Como véis estoy perdidísimo  :D

Outcomes