Sie müssen die Spalte NAME
auswählen statt FILENAME
. Ersteres ist die eindeutige Kennung (sieht aus wie series_of_numbers\the_filename
) und ist, was das Dateisuchelement enthalten wird, während letzteres ohne das Präfix ist.
Sehen Sie, Sie müssen von Ihrer Seite mehr Informationen bereitstellen. Ich habe eine wirklich einfache Seite erstellt, um dies zu versuchen (apex.oracle.com).
P2_FILE
ist ein Element zum Durchsuchen von Dateien.
- Speichertyp:Tabelle APEX_APPLICATION_TEMP_FILES
- Datei löschen bei:Sitzungsende
Ich habe einen On-Submit-Prozess erstellt, der nichts anderes tut, als einige Dinge in der Debug-Ausgabe aufzulisten.
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;
Also führe ich die Seite aus, aktiviere Debug, wähle eine Datei aus und drücke auf Senden. Alles funktioniert. Überprüfen Sie das Debug-Protokoll (akzeptieren):
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
Also:Was ist bei Ihnen anders? Haben Sie wie von Jeffrey vorgeschlagen vorgegangen und die Seite debuggen lassen? Wie ist dein "Purge"-Set? Sind Sie sicher, dass „keine Daten gefunden“ beim Auswählen des Blobs auftritt und nicht in Ihrer Prozedur – haben Sie Ihren Prozeduraufruf schon auskommentiert?