Open In App

Raise a File Download Dialog Box in Python

Last Updated : 07 Oct, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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.
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads