Musisz wybrać w kolumnie NAME
zamiast FILENAME
. Pierwszy z nich to unikalny identyfikator (wygląda jak series_of_numbers\the_filename
) i jest tym, co będzie zawierał element przeglądania plików, podczas gdy ten drugi nie zawiera prefiksu.
Słuchaj, będziesz musiał podać więcej informacji ze swojego końca. Stworzyłem naprawdę prostą stronę, aby to wypróbować (apex.oracle.com).
P2_FILE
jest elementem przeglądania plików.
- Typ pamięci:tabela APEX_APPLICATION_TEMP_FILES
- Wyczyść plik po:końcu sesji
Stworzyłem proces on-submit, który nie robi nic poza listą niektórych rzeczy w danych wyjściowych debugowania.
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;
Więc uruchamiam stronę, włączam debugowanie, wybieram plik i klikam Prześlij. Wszystkie prace. Sprawdź dziennik debugowania (zaakceptuj):
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
Więc:co się zmieniło na twoim końcu? Czy zrobiłeś tak, jak zasugerował Jeffrey i uruchomiłeś debugowanie strony? Jaki jest twój zestaw „czystki”? Czy jesteś pewien, że brak danych występuje w wybranym obiekcie BLOB, a nie w Twojej procedurze — czy skomentowałeś już wywołanie procedury?