Skip to content
Related Articles

Related Articles

Raise a File Download Dialog Box in Python

View Discussion
Improve Article
Save Article
  • Last Updated : 07 Oct, 2021
View Discussion
Improve Article
Save Article

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.
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!