Debe seleccionar en la columna NAME
en lugar de FILENAME
. El primero es el identificador único (se parece a series_of_numbers\the_filename
) y es lo que contendrá el elemento de búsqueda de archivos, mientras que este último no tiene el prefijo.
Mira, tendrás que proporcionar más información de tu parte. Creé una página realmente simple para probar esto (apex.oracle.com).
P2_FILE
es un elemento de exploración de archivos.
- Tipo de almacenamiento:tabla APEX_APPLICATION_TEMP_FILES
- Purgar archivo al final de la sesión
Creé un proceso de envío que no hace más que enumerar algunas cosas en la salida de depuración.
declare
l_blob blob;
begin
for r in (select * from apex_application_temp_files)
loop
apex_debug.message('name: %s - filename: %s', r.name, r.filename);
end loop;
apex_debug.message('P2_FILE: %s', :P2_FILE);
SELECT blob_content
INTO l_blob
FROM apex_application_temp_files
WHERE name = :P2_FILE;
apex_debug.message('blob length: %s', dbms_lob.getlength(l_blob));
end;
Así que ejecuto la página, habilito la depuración, selecciono un archivo y presiono enviar. Todos los trabajos. Compruebe el registro de depuración (aceptar):
name: 39044609744029199463/README (2).md - filename: README (2).md
name: 39044529927808550681/README (1).md - filename: README (1).md
name: 39044569042020557797/README.md - filename: README.md
P2_FILE: 39044609744029199463/README (2).md
blob length: 1884
Entonces:¿qué es diferente en tu extremo? ¿Hiciste lo sugerido por Jeffrey y ejecutaste una depuración de la página? ¿Cuál es su "purga" establecida como? ¿Estás seguro de que no se encontraron datos al seleccionar el blob y no en tu procedimiento? ¿Ya comentaste tu llamada al procedimiento?