Archivos en la base de datos y peticiones al servidor
Cómo enviar un archivo al servidor y guardarlo en la base de datos
Después de todas las comprobaciones, podemos estar seguros de que el usuario ha enviado los archivos en el formato correcto. Ahora es el momento de enviarlos al servidor para su posterior procesamiento. Pero antes, vale la pena hacer una explicación importante sobre los principios del trabajo con archivos.
Tipos de archivos
Habrás notado que hay dos tipos diferentes de archivos. El primero es el que acabamos de trabajar, el archivo modelo. El segundo es el tipo de datos del archivo. Es un identificador que es fácil de almacenar en la base de datos y fácil de encontrar el modelo completo. Cuando se diseña un modelo de base de datos, es el segundo tipo el que se utiliza. Se puede utilizar de la misma manera que otros tipos de datos (String, Integer, y otros), pero al mismo tiempo, siempre sabemos que el modelo completo se esconde detrás de su ID.
Cuando obtenemos un archivo desde el Filepicker o del bloque Select Files se representa como un modelo. Pero aún no tiene un ID, porque el archivo no se ha guardado en la base de datos del servidor. Para ello, hay que hacer la correspondiente Server request POST /_files/ al punto final, que se ha creado automáticamente de antemano. Después de esto, el archivo se escribe en la base de datos, y su modelo adquiere un ID y puede ser utilizado completamente.
URL para imágenes
Utilice Swagger para ver qué otros endpoints de archivos existen. Ahora necesitamos uno de ellos. Para utilizar archivos como imágenes en el front-end, es necesario obtener la URL completa del archivo dado. Esta tarea la resuelve el GET /_files/:id/download/ endpoint. Conociendo el ID del archivo, puedes usarlo y obtener la URL exacta del archivo.
Tenemos que ampliar el modelo obtenido como resultado del bloque Server request POST /_files/ y averiguar el ID del archivo. Después, hay que convertir el ID en una cadena mediante el bloque To String bloque. Utilicemos este resultado para recoger la URL final de la imagen (la misma que GET request /_files/:id/download/). Para ello, utilizamos el bloque Concat Strings (Multiple) bloque de concatenación de cadenas. La primera parte será "/api/_files/", la segunda será el ID del archivo, y la tercera será "/download/".
Sólo queda pasar la URL resultante al bloque Image bloque. Se creó en la fase de diseño, pero inicialmente había un simple stub como imagen. Ahora podemos arreglarlo. Para ello, utilice el bloque Image Update Properties bloque y poner la URL de la imagen.