Quantcast
Channel: Site Root
Viewing all articles
Browse latest Browse all 16821

Blog Post: Descargar archivos PDF, Word y Excel desde un icono de una columna del Informe Interactivo en Oracle Apex 5.0

$
0
0
Seguramente en algún momento te encontraste con la situación de querer tener un listado de archivos y que los puedas descargar directamente desde un icono o enlace desde el informe interactivo. Por ello es que he desarrollado este ejemplo para que puedas aplicarlo y adaptarlo a tus desarrollos en Apex. Necesitamos para este ejemplo crear una tabla que contendrá los datos de los diferentes archivos. Ingresamos al Taller de SQL y ejecutamos cada una de las siguientes sentencias: CREATE TABLE "MY_FILE_BLOB" ( "ID" NUMBER, "TITLE" VARCHAR2(500), "DESCRIPTION" VARCHAR2(500), "BLOB_CONTENT" BLOB, "MIMETYPE" VARCHAR2(255), "FILENAME" VARCHAR2(255), "LAST_UPDATED" DATE, "CHARACTER_SET" VARCHAR2(128), CONSTRAINT "MY_FILE_BLOB_PK" PRIMARY KEY ("ID") ENABLE ) / CREATE SEQUENCE "MY_FILE_BLOB_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE / CREATE OR REPLACE TRIGGER "BI_MY_FILE_BLOB" before insert on "MY_FILE_BLOB" for each row begin if :NEW."ID" is null then select "MY_FILE_BLOB_SEQ".nextval into :NEW."ID" from sys.dual; end if; end; / ALTER TRIGGER "BI_MY_FILE_BLOB" ENABLE / Ahora creamos el Informe Interactivo por medio del asistente “Pantalla Basada en Tabla con Informe”, utilizando como origen la tabla MY_FILE_BLOB y en la página que corresponde al formulario de carga de datos seleccionamos las columnas: TITLE, DESCRIPTION y BLOB_CONTENT, el resto de las columnas no lo mostramos. Cargar Iconos en nuestro Espacio de Ttrabajo Ingresamos a los Componentes Compartidos de la aplicación, seleccionamos Archivos de Espacio de Trabajo Estático y cargamos los 3 iconos que representan los archivos de tipo PDF, Excel y Word. #WORKSPACE_IMAGES#icon-excel-75.gif #WORKSPACE_IMAGES#icon-word-75.png #WORKSPACE_IMAGES#icon-pdf-75.png Editar Origen Consulta SQL del Informe Interactivo Desde el Diseñador de Páginas, hacemos clic en la región del Informe Interactivo y en el panel de la derecha en la sección Origen reemplazamos el origen con la siguiente consulta SQL: select "ID", "TITLE", "DESCRIPTION", "FILENAME", "MIMETYPE", dbms_lob.getlength("BLOB_CONTENT") "BLOB_CONTENT", CASE WHEN FILENAME LIKE '%.pdf' THEN ' ' WHEN FILENAME LIKE '%.docx' THEN ' ' WHEN FILENAME LIKE '%.xlsx' THEN ' ' ELSE MIMETYPE END AS "FILE_ICONO", "LAST_UPDATED", "CHARACTER_SET" from "#OWNER#"."MY_FILE_BLOB" where mimetype NOT LIKE '%jpeg' AND mimetype NOT LIKE '%png' AND mimetype NOT LIKE '%gif' ORDER BY ID Guardamos los cambios. La consulta SQL además de mostrar todas las columnas de la tabla MY_FILE_BLOB crea una columna adicional para mostrar el icono que corresponde a la aplicación que se muestra en el registro y ese dato lo toma de la columna FILENAME, para este ejemplo usamos archivos de PDF, Excel y Word. Editar Página 1 - Informe Archivos Almacenados Seleccionamos la columna BLOB_CONTENT y en la sección ATRIBUTOS_BLOB del panel de la derecha asignamos los siguientes valores: Columna de Tipo MIME: MIMETYPE Columna de Nombre de Archivo: FILENAME Última Columna BLOB Actualizada: LAST_UPDATED Columna de Juego de Caracteres: CHARACTER_SET Ocultamos las columnas: ID, MIMETYPE, FILENAME, CHARACTER_SET, LAST_UPDATED Editar Página 2 - Formulario Gestionar Archivos Cambiamos los títulos y luego seleccionamos el elemento P2_BLOB_CONTENT y en la sección Configuración en el panel derecho de propiedades del elemento asignamos los campos como se muestra a continuación: Columna de Tipo MIME: MIMETYPE Columna de Nombre de Archivo: FILENAME Columna de Juego de Caracteres: CHARACTER_SET Última Columna BLOB Actualizada: LAST_UPDATED Mostrar Enlace de Descarga: Sí Texto de Enlace de Descarga: Descargar Archivo Disposición del Contenido: Attachment Cargar Archivos Ejecutamos la aplicación y cargamos los tres tipos de archivos: PDF, Excel y Word. La columna FILE_ICONO corresponde a la imagen que mostrará el registro dependiendo el tipo de archivo mostrado en la columna FILENAME. Seleccionamos la columna FILE_ICONO y en el panel de la derecha en la sección Seguridad indicamos Caracteres Especiales de Escape = No. Ejecutamos la aplicación y podemos observar que ahora se muestra el icono de acuerdo al archivo cargado. La columna Archivo (la que corresponde al link de descarga) podemos ocultarla, haciendo clic en el botón Acciones y seleccionamos la columna y lo pasamos al cuadro de No Mostrar. Al hacer clic en cualquiera de los iconos podemos descargar los archivos a nuestra PC. Aquí terminamos y será hasta pronto!!!

Viewing all articles
Browse latest Browse all 16821

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>