Idea Summary
You can define a blob download or image download easily on reports, but not in submit processses, buttons, links etc. This can be way improved and easier to do. Now you have to define an application process, and call it within a special url (Page 0 and a special request with the process name, and a custom package to perform the download). Or just a submit process and calling to stop_apex_engine. Or do it on a process before regions, and then you don't need the stop_apex_engine. Very complex and very apex specific apex engine hacking needed. Also you need http headers proctocol knowledge and implement custom download functions.
Use Case
Simplify clob an blob files downloads declaratively.
Preferred Solution (Optional)
It would be nice having a special process of type “Download”, and just ask for a query or plsql code returning a blob, a filename and a mime type. If the query contains multiple files, just offer the result as a zip file with multiple files on it. Also being able to set up a list of custom headers, statically or dynamically.