Press "Enter" to skip to content

Oracle Apex – Create Download BLOB Link in Report

This Oracle Apex tutorial shows you, how to create a download BLOB link in the interactive report.

I have the following EMPLOYEE_DOCS table, in which I have the documents stored for each employee in a BLOB column CONTENT and the field EMPLOYEE_ID is the primary key.

CREATE TABLE  "EMPLOYEE_DOCS" 
   (	"EMPLOYEE_ID" NUMBER, 
	"FILENAME" VARCHAR2(100), 
	"CONTENT" BLOB, 
	"MIMETYPE" VARCHAR2(50), 
	"CREATED_DATE" DATE, 
	 CONSTRAINT "PK_EMPDOCS" PRIMARY KEY ("EMPLOYEE_ID")
  USING INDEX  ENABLE
   )
/

Note: We should have the columns FILENAME and MIMETYPE in our table having the BLOB data so that we configure the Oracle Apex settings for the Download link. Valid Mime types are, for PDF: application/pdf, for CSV: text/csv, for image: image/jpeg. Now follow these steps to create an Interactive Report with a Download link in Oracle Apex.

Create an Interactive Report with Download Link in Oracle Apex

1. In Oracle Apex, Create an Interactive report with the following query for the above table.

select "EMPLOYEE_ID","FILENAME",sys.dbms_lob.getlength("CONTENT")"CONTENT","MIMETYPE","CREATED_DATE"from "EMPLOYEE_DOCS"

You can notice above that I have used the sys.dbms_lob.getlength() function to get the BLOB content-length instead of getting the BLOB data right away.

2. Now in Oracle Apex page designer, open the report region columns and click on the CONTENT column and set the following property settings:

  • Type: Download BLOB

BLOB Attributes

  • Table Owner: Parsing Schema
  • Table Name: EMPLOYEE_DOCS
  • BLOB Column: CONTENT
  • Primary Key: EMPLOYEE_ID
  • Mimetype Column: MIMETYPE
  • Filename Column: FILENAME
  • Last Updated Column: CREATED_DATE

Appearance

  • Download Text: Download
  • Content-Disposition: Attachment

The following is the screenshot for the above settings:

Oracle Apex download BLOB link settings.

Note: The Primary Key column is a must for the above table to configure BLOB settings, if you don’t have the Primary Key, then you can use the ROWID. In this case, include the ROWID column in your report query and specify the ROWID as a Primary Key in the above settings.

Save the changes and run the report to test. You will have the output as follows:

Oracle Apex Download BLOB link output.

On clicking of the Download link, the BLOB content will be download.

Related tutorials:

Have you found the answer to your question? If not, you can discuss it with me in the comments section below or join my Q&A community OrclQA.com for developers and ask your question. It is FREE.

Vinish Kapoor

Follow

Hi, I am a full stack developer and writing about development. I document everything I learn and help thousands of people. foxinfotech.in is created, written, and maintained by me; it is built on WordPress, and hosted by Bluehost. Connect with me on Facebook, Twitter, GitHub, and get notifications for new posts.

guest
9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Marc
Marc
27 days ago

Hello,

it works great, just one question, when I want to download the file uploaded as abc.doc, it is downloaded with a file name “download” not with a name of the file abc.doc (FILENAME from a database).
How can I fix this?

Thanks

Marc
Marc
Reply to  Vinish Kapoor
27 days ago

Thanks

furqan
furqan
1 day ago

I want to open the document with in the browser.How to do it ?

furqan
furqan
Reply to  Vinish Kapoor
1 day ago

Not displaying word document

furqan
furqan
Reply to  Vinish Kapoor
1 hour ago

Cant we use a single method to upload files(word/pdf etc)
on my server or in database ?