Musíte vybrat ve sloupci NAME
místo FILENAME
. První je jedinečný identifikátor (vypadá jako series_of_numbers\the_filename
) a je to, co bude obsahovat položka procházení souborů, zatímco druhá je bez předpony.
Podívejte, budete muset poskytnout více informací z vaší strany. Abych to zkusil, vytvořil jsem opravdu jednoduchou stránku (apex.oracle.com).
P2_FILE
je položka pro procházení souborů.
- Typ úložiště:Tabulka APEX_APPLICATION_TEMP_FILES
- Vyčistit soubor na:Konec relace
Vytvořil jsem proces on-submit, který nedělá nic jiného, než že uvádí některé věci ve výstupu ladě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;
Spustím tedy stránku, povolím ladění, vyberu soubor a stisknu Odeslat. Všechny práce. Zkontrolujte protokol ladění (přijmout):
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
Takže:co je na vašem konci jiného? Udělali jste podle návrhu Jeffreyho a spustili ladění stránky? Jak je nastaveno vaše „očištění“? Jste si jisti, že se nenalezená data vyskytují u vybraného objektu BLOB a ne ve vaší proceduře – okomentovali jste již své volání procedury?