Raising a File Download Dialog Box for end-user to download files like pdf, media-objects, documents, etc in Python can be done by the use of HTTP Header. It comes in handy where there is a need to develop a feature where instead of showing the files in the browser, the file contains is automatically downloaded.
For instance, if you need a file say (GeeksForGeeks.txt) to be downloaded on click of a link from the database the code would somewhat look like below:
Python3
# python_script.py # HTTP Header print ( "Content-Type:application/octet-stream; name = \"FileName\"\r\n" ) print ( "Content-Disposition: attachment; filename = \"FileName\"\r\n\n" ) # Original File my_file = open ( "GeeksForGeeks.txt" , "rb" ) # read the file content text = my_file.read(); print (text) # Close opened file my_file.close() |
If you just run the script it will just read the original file as below:
Note: One needs to make sure the file to be downloaded is in the same directory as the Python script.
Using the script in your application:
The below code is a simple example of the use of the above script in an application:
html
< html > < body > < form enctype = "multipart/form-data" action = "python_script.py" method = "get" > < p >File link:< a href = "GeeksForGeeks.txt" download>Click Here</ a ></ p > </ form > </ body > </ html > |
Output:
On click of the “Click Here” link the download box would pop up and start downloading the file.