Manipulación de Directorios de Archivos
Este artículo revisará cómo trabajar con la manipulación de directorios de archivos en App Builder los temas tratados incluyen mover archivos entre binarios y un sistema de archivos, crear directorios desde dentro App Builder y vincular directorios a un Panel de Sistema de Archivos.
Prerrequisitos
- Es necesario configurar un sistema de archivos en su App Builder servidor (local, S3 o red)
- Se recomienda almacenar el DataSourceID del sistema de archivos en la tabla de parámetros de la aplicación desde la que va a transferir los archivos
- La base de datos desde la que va a transferir los archivos debe estar vinculada a su sistema de archivos
Columnas en una Tabla de Archivos del Sistema de Archivos
Columna | Obligatorio (S/N) | Tipo de datos | Descripción |
---|---|---|---|
DataSourceID(*) | Sí | UUID | El DataSourceID de la fuente de datos del sistema de archivos |
Nombre (*) | Sí | Cadena | El nombre del archivo cuando está almacenado en el sistema de archivos |
Directorio (*) | Sí | Cadena | La ruta del archivo que se almacena en el sistema de archivos |
FullName | No | String | El nombre del archivo cuando está almacenado en el sistema de archivos |
IsDirectory | No | Booleano | Si el archivo que se almacena es una carpeta o no |
Contenido | No | Binario | El archivo en sí |
Extensión | No | Cadena | La extensión del archivo que se está almacenando |
Creado el | No | Fecha/Hora | Cuándo se insertó el archivo en el sistema de archivos |
Modificado el | No | Fecha/Hora | Cuándo se actualizó el archivo en el sistema de archivos |
Longitud | No | Entero | Longitud del archivo en bytes |
FolderIcon | No | Binario | El icono de la carpeta en el sistema de archivos |
Instrucciones para Mover Archivos Desde Binario en an App Builder tabla a Sistema de Archivos
Carpetas
- Si ya tiene una carpeta en el sistema de archivos en la que desea almacenar los archivos, no necesita configurar carpetas a través de App Builder
-
Si desea crear una carpeta en el sistema de archivos, deberá configurar reglas en App Builder para ello:
- Cree una regla de inserción XP CRUD desde la base de datos principal de su aplicación que tenga como destino la tabla de archivos de su sistema de archivos
- Las claves de la tabla de archivos que se deben tener como destino son DataSourceID (de su sistema de archivos), Name (nombre del archivo) y Directory (ruta del archivo)
- DATASOURCEID(*): si almacenó el DataSourceID de su sistema de archivos en su tabla de parámetros, puede crear la regla a partir de esa tabla y usar ese campo parametrizado para tener como destino el DataSourceID.
- NOMBRE(*): puede usar el nombre que desee para el archivo o la carpeta. Es una práctica común no usar el nombre real del archivo y generar un nombre nuevo al almacenarlo en un sistema de archivos por razones de seguridad.
- DIRECTORIO(*): si la carpeta es la carpeta de nivel más alto en su sistema de archivos, use una cadena en blanco como directorio. Si está creando una jerarquía de carpetas, el directorio es la ruta del archivo de la carpeta, App Builder asume automáticamente el primer '\' en la ruta del archivo.
- Apunta al campo IsDirectory con un '1' para todas las carpetas. Así es como App Builder sabrá que debe crear una carpeta en el sistema de archivos, en lugar de intentar insertarla como un archivo.
- Registre la regla de inserción como una acción en un evento y active ese evento. Si creó una carpeta de nivel superior en su sistema de archivos, debería aparecer en la tabla de archivos de su sistema de archivos; si la carpeta o el archivo se encuentran en cualquier lugar que no sea el nivel más alto de su sistema de archivos, deberá configurar páginas para verificar que se hayan insertado correctamente o comunicarse con alguien con acceso al sistema de archivos para confirmar que se creó la carpeta.
- Las claves de la tabla de archivos que se deben tener como destino son DataSourceID (de su sistema de archivos), Name (nombre del archivo) y Directory (ruta del archivo)
- Cree una regla de inserción XP CRUD desde la base de datos principal de su aplicación que tenga como destino la tabla de archivos de su sistema de archivos
Insertar Archivos en el Sistema de Archivos
-
Cree una regla de inserción XP CRUD a partir de la fuente de datos y la tabla desde la que está moviendo los archivos y que tenga como destino la tabla de archivos de su sistema de archivos
- Las claves del archivo son las mismas que las de la carpeta
- DATASOURCEID(*): el DataSourceID del sistema de archivos; puede codificar el valor o cruzarlo en la tabla de parámetros si lo almacenó
- NAME(*): es una práctica común no usar el nombre original del archivo en su sistema de archivos, sin embargo, puede hacerlo. Si no lo hace, asegúrese de configurar una convención de nomenclatura que sea consistente y fácil de recordar. (Nota: si planea obtener una vista previa de este archivo en un control de incrustación, debe concatenar la extensión del archivo al final del nombre. Hay documentación de SQL en línea que lo ayudará a recortar la extensión del nombre del archivo original).
- DIRECTORIO(*): La ruta en la que se almacenará el archivo. Una serie de nombres de carpeta separados por '\'.
- Otro campo que debe tenerse en cuenta para los archivos es Contenido
- CONTENIDO: El archivo en sí. El binario que se almacena en la tabla
- Las claves del archivo son las mismas que las de la carpeta
Vinculación de Directorios a un Panel del Sistema de Archivos
-
Al vincular a una página usando un sistema de archivos como fuente del panel, es necesario pasar un enlace para acceder a sus archivos.
- En el objeto desde el cual se va a vincular, se deben agregar los campos a los que se va a vincular
- Los campos a los que se vinculará son las claves principales de la tabla de archivos en su sistema de archivos (DataSourceID, Directorio y Nombre)
- Dondequiera que configure el enlace a la página del Sistema de archivos, debe configurar los campos que acaba de agregar a su objeto como Criterios de enlace. También puede lograr esto entre paneles si desea hacerlo de esa manera.
- En el objeto desde el cual se va a vincular, se deben agregar los campos a los que se va a vincular
Ejemplo de Regla CRUD de XP para Crear una Subcarpeta
A continuación se muestra un ejemplo de regla CRUD de XP que indica App Builder para crear una subcarpeta llamada PaymentImport
fuera de la App Builder data
carpeta ubicada en el C:
unidad. Este ejemplo supone que la ruta de la fuente de datos es C:/App Builder data
.
Configuración de la regla:
- Propósito: CRUD de XP
- Acción: Cram
- Origen de datos de origen: origen de datos del que se origina la regla. Ejemplo: InvoicePortal
- Origen de datos de destino: origen de datos al que se dirige la regla. Ejemplo: Unidad C
- Capa de destino: capa lógica
- Destino: tabla con nombre a la que se dirige la regla. Ejemplo: archivo
Columnas definidas en la regla:
- DataSourceID: 'b24b8338-5c91-4e92-8481-8605944a558d'
- Directorio: *
- Nombre: 'PaymentImport'
- IsDirectory: 1
Ejemplo de regla CRUD de XP para crear una subcarpeta