Du skal vælge kolonnen NAME
i stedet for FILENAME
. Førstnævnte er den unikke identifikator (ser ud som series_of_numbers\the_filename
) og er, hvad fil-gennemse-elementet vil indeholde, mens sidstnævnte er uden præfikset.
Se, du bliver nødt til at give flere oplysninger fra din side. Jeg har lavet en meget simpel side for at prøve dette (apex.oracle.com).
P2_FILE
er et fil-gennemse element.
- Lagringstype:Tabel APEX_APPLICATION_TEMP_FILES
- Slet fil ved:Slutningen af sessionen
Jeg har oprettet en indsendelsesproces, som ikke gør andet end at liste nogle ting i fejlretningsoutputtet.
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;
Så jeg kører siden, aktiverer debug, vælger en fil og trykker på send. Alle virker. Tjek fejlretningsloggen (accepter):
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
Så:hvad er anderledes i din ende? Har du gjort som foreslået af Jeffrey og kørt en fejlretning af siden? Hvad er dit "udrensning" sæt? Er du sikker på, at ingen-data-fundet sker ved valg af klatten og ikke i din procedure - har du kommenteret dit procedurekald endnu?