En el artículo anterior redefinimos varias funciones de un servicio oData para poder gestionar ficheros. A continuación, veremos dos ejemplos prácticos para comprender mejor los conceptos.

Gestión de ficheros en Cliente SAP Gateway

Para comenzar, subiremos desde el Cliente SAP Gateway una imagen al set de entidad FicheroSet que creamos anteriormente. Para ello, es importante recordar pulsar en POST, pues queremos enviar información al oData.

Si probamos a subir un fichero pulsando en “Add File”, comprobaremos que se guarda sin nombre ni extensión. Su contenido sí se almacena correctamente, pero no resulta óptimo puesto que, si lo queremos descargar, al no tener extensión no podremos abrirlo directamente.

Por ello, es importante, antes de subir un fichero, añadir el parámetro SLUG y darle el nombre, con extensión incluida, del archivo.

Al añadir la imagen vemos que también nos genera automáticamente un valor para X-CSRF-Token. Este es un token válido solo para la sesión actual y, gracias a él, se evita que se puedan realizar peticiones no autorizadas, aumentando así la seguridad.

Una vez ejecutada la subida del archivo, si volvemos a pulsar en “GET” para obtener los datos de FicheroSet, comprobamos que se ha guardado correctamente.

La extensión se guardará en el Mimetype, en este caso como image/png, gracias a lo cual esta vez al descargar el archivo sí se abrirá correctamente como una imagen PNG. Para realizar la prueba podemos acceder desde el navegador a nuestro servicio oData incluyendo lo siguiente:

FicheroSet(‘000001’)/$value

Esto nos permitirá obtener el primer fichero (con clave primaria 000001) y comprobar que se abre sin problemas.

Gestión de ficheros en aplicación SAPUI5

Tras las pruebas realizadas en el Cliente SAP Gateway, se realiza de ejemplo una sencilla aplicación Fiori que permite la subida de archivos. Para ello, se crea una vista que contenga el control FileUploader, además de una lista que muestre los datos de FicheroSet.

Gracias a FileUploader, pulsando en el botón “Navegar…” es posible encontrar cualquier fichero que deseemos añadir. A continuación, tras pulsar en “Subir fichero”, a la derecha, el archivo que hayamos seleccionado se insertará en la base de datos.

Para hacer esto posible, dicho botón llama a un método del controlador que obtiene la URL y los parámetros necesarios:

Podemos observar que se obtiene el token X-CSRF-Token, mencionado anteriormente, además del nombre del fichero (Slug), su contenido y su MimeType para conocer la extensión.

El tratamiento de ficheros es necesario en muchas aplicaciones Fiori, por lo que esperamos que este artículo te haya resultado de utilidad para conocer los conceptos principales.

Si tienes cualquier duda puedes dejarnos tus preguntas en los comentarios o ponerte en contacto con nuestra área de User Experience & Integración.