2
votes

I am using Oracle APEX to provide a CSV File Upload function for our users, based on a data load definition. Apart from traditionally mapping the data, I also grabbed the BLOB column from the view wwv_flow_files and saved it to another table, so the users were always able to re-download their uploaded files at a later moment.

Now our testing environment got upgraded to APEX 5.1 and this option doesn't work anymore. There is no entry in the view wwv_flow_files for the corresponding file upload. The view apex_application_files doesn't contain one either. The application compatibility mode setting didn't help.

Is there any other way to grab the BLOB?

The APEX version installed is 5.1.2.00.09. The Oracle Database Version is 12.1.0.2.0 Enterprise Edition.

1

1 Answers

3
votes

Since APEX 5.0, the file upload capability was changed from using the WWV_FLOW_FILES table to APEX_APPLICATION_TEMP_FILES. The new table has an additional attribute "Purge at", with values of "End of request" and "End of session". So developers do not have to care about cleaning up the WWV_FLOW_FILES table any more.

Data Loading, however, did not use that new capability in APEX 5.0, it moved there with APEX 5.1. That explains, why you don't see the files in the WWV_FLOW_FILES table any more.

The best way to get a hold on the uploaded file is to place a custom PL/SQL process - "copy_blob" on your "Data Load Source" Page, before the "Parse Uploaded Data" process. The Code in that process copies the BLOB from APEX_APPLICATION_TEMP_FILES(!) to your own table.