Anda harus memilih pada kolom NAME
bukannya FILENAME
. Yang pertama adalah pengidentifikasi unik (terlihat seperti series_of_numbers\the_filename
) dan apa isi file browse item, sedangkan yang terakhir tanpa awalan.
Dengar, Anda harus memberikan lebih banyak informasi dari pihak Anda. Saya telah membuat halaman yang sangat sederhana untuk mencoba ini (apex.Oracle.com).
P2_FILE
adalah item penelusuran file.
- Jenis Penyimpanan:Tabel APEX_APPLICATION_TEMP_FILES
- Bersihkan File di:Akhir Sesi
Saya telah membuat proses pengiriman yang tidak lebih dari mencantumkan beberapa hal dalam output debug.
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;
Jadi saya menjalankan halaman, aktifkan debug, pilih file dan tekan kirim. Semua bekerja. Periksa log debug (terima):
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
Jadi:apa yang berbeda di akhir Anda? Sudahkah Anda melakukan seperti yang disarankan oleh Jeffrey dan menjalankan debug halaman? Seperti apa pengaturan "pembersihan" Anda? Apakah Anda yakin bahwa no-data-found terjadi pada pilihan blob dan bukan dalam prosedur Anda - apakah Anda sudah mengomentari panggilan prosedur Anda?