Трябва да изберете колона NAME
вместо FILENAME
. Първият е уникалният идентификатор (изглежда като series_of_numbers\the_filename
) и е това, което ще съдържа елементът за разглеждане на файлове, докато последният е без префикса.
Виж, ще трябва да предоставиш повече информация от своя страна. Създадох наистина проста страница, за да опитам това (apex.oracle.com).
P2_FILE
е елемент за разглеждане на файлове.
- Тип съхранение:Таблица APEX_APPLICATION_TEMP_FILES
- Изчистване на файла при:края на сесията
Създадох процес на изпращане, който не прави нищо повече от списък на някои неща в изхода за отстраняване на грешки.
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;
Така че стартирам страницата, активирам отстраняване на грешки, избирам файл и натискам изпращане. Всички работи. Проверете регистрационния файл за отстраняване на грешки (приемам):
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
И така:какво е различното във вашия край? Направихте ли както беше предложено от Джефри и стартирахте ли отстраняване на грешки на страницата? Какъв е вашият набор за "прочистване"? Сигурни ли сте, че no-data-found се появява при избор на blob, а не във вашата процедура - коментирали ли сте вече вашето извикване на процедура?