gradio/demo/upload_file_limit_test/run.py
Freddy Boulton 2afca65419
Add max_file_size parameter to launch() that limits the size of files that can be uploaded in the Gradio app (#7909)
* File size limits

* Implementation

* add changeset

* Fix tests

* python client support

* lint

* fix test

* lint

* add changeset

* Set at the blocks level

* add changeset

* type check

* format

* lint

* lint

* Delete files as soon as they're encountered

* fix tests

* type hint 🙄

* Fix tests

* Fix below limit test

* add changeset

* Fix tests

* Add client file

* revert loop code

* Add to guides

* Pass in via gradio component

* add changeset

* Update loading status

* Make errors closeable

* add changeset

* Add code

* Lint

* Changelog highlight

* Fix i18n in storybook

* Address comments

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-04-19 15:38:53 -04:00

26 lines
1.1 KiB
Python

import gradio as gr
with gr.Blocks() as demo:
gr.Markdown("""
# ⬆️📁 max_file_size test
The demo has a max file size of 15kb. The error modal should pop up when a file larger than that is uploaded.
""")
with gr.Row():
with gr.Column():
gr.Image(label="Image", interactive=True)
gr.Gallery(label="Gallery", interactive=True)
gr.File(label="Single File", interactive=True, file_count="single")
with gr.Column():
gr.Model3D(label="Model 3D", interactive=True,)
gr.MultimodalTextbox(label="Multimodal Textbox", interactive=True)
gr.UploadButton(label="Upload Button", interactive=True)
with gr.Column():
gr.Video(label="Video", interactive=True)
gr.Audio(label="Audio", interactive=True)
gr.File(label="Multiple Files", interactive=True, file_count="multiple")
if __name__ == "__main__":
# The upload limit is set in playwright_setup.js
# since the e2e tests use mount_gradio_app
demo.launch(max_file_size="15kb")