Vous devez sélectionner dans la colonne NAME
au lieu de FILENAME
. Le premier est l'identifiant unique (ressemble à series_of_numbers\the_filename
) et est ce que contiendra l'élément de navigation du fichier, tandis que ce dernier est sans le préfixe.
Écoutez, vous devrez fournir plus d'informations de votre côté. J'ai créé une page très simple pour essayer cela (apex.oracle.com).
P2_FILE
est un élément de parcours de fichiers.
- Type de stockage :table APEX_APPLICATION_TEMP_FILES
- Purger le fichier à :la fin de la session
J'ai créé un processus de soumission qui ne fait rien de plus que répertorier certaines choses dans la sortie de débogage.
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;
J'exécute donc la page, active le débogage, sélectionne un fichier et clique sur Soumettre. Tout fonctionne. Vérifiez le journal de débogage (acceptez) :
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
Alors :qu'est-ce qui est différent de votre côté ? Avez-vous fait comme suggéré par Jeffrey et exécuté un débogage de la page ? Quel est votre ensemble de "purge" ? Êtes-vous sûr que l'absence de données trouvée se produit sur la sélection du blob et non dans votre procédure ? Avez-vous déjà commenté votre appel de procédure ?