The DownloadButton creates a button that downloads a file when clicked.
Basic usage
import gradio as gr
def get_file():
return "output.txt"
with gr.Blocks() as demo:
download = gr.DownloadButton("Download File", value="output.txt")
demo.launch()
Constructor
value
str | Path | Callable | None
default:"None"
Filepath or URL to download. Can be a function that returns the path
variant
Literal['primary', 'secondary', 'stop']
default:"'secondary'"
Button style variant
size
Literal['sm', 'md', 'lg']
default:"'lg'"
Button size
Events
- click - Triggered when button is clicked
Examples
Dynamic download
import gradio as gr
def create_report(data):
# Generate report file
with open("report.txt", "w") as f:
f.write(data)
return "report.txt"
with gr.Blocks() as demo:
input_data = gr.Textbox(label="Data")
download = gr.DownloadButton("Download Report")
input_data.change(
fn=create_report,
inputs=input_data,
outputs=download
)
demo.launch()
import gradio as gr
download = gr.DownloadButton(
"Download Results",
value="results.csv",
variant="primary"
)