dcc.Upload errors with big files
Open
Nobody has claimed this yet.
bug
feature
P3
- Dominant language
- Python
- Stars
- 24.4k
- Forks
- 2.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 13
Description
Context
- Creating an app where end users can upload files >1GB with
dcc.Upload. - The app code is the same as the first sample app of the doc page: https://dash.plotly.com/dash-core-components/upload
max_sizeis set to-1
Issues
- If I run the app with gunicorn or in my local env, some time after I upload the file the tab freezes or I get an internal server error (NOT a timeout because
dcc.Uploadhas some kind of async functionality). > This is similar to what this issue describes: https://github.com/plotly/dash/issues/1728
Additional context
- I've tried
dash-uploader(link) and it works okay but I’m concerned about (1) privacy (all files are accessible by all users by default, as opposed to session-specific storage) and (2) memory (how does saving many big files affect the app memory/performance) dash-uploaderis not an official component and it’s not maintained, which raises some concerns regarding production environment.
Request
dcc.Uploadbeing able to handle big files (500MB, >1GB, etc).- If the file is not been processed correctly (
list_of_contentsis empty) show a more helpful error.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the dcc.Upload documentation sample and reproduce the behavior using files over 500MB in the local, gunicorn, and Dash Enterprise environments described. Compare the callback inputs when content is empty or missing. Done means large uploads are handled reliably and an unsuccessful upload produces a helpful error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100