Improve display of many files in `st.file_uploader`
Hi,
- For the File_uploader widget in streamlit, I would like to display the browsed files using the scroll bar. But seems that the file elements are being tied to "streamlit-paginator" which has "Showing page 1 of 2" and "Showing 2 of 2".
So if we have the options to handle this scenario from streamlit, it would be great
- In the same scenario, I made an attempt to display 5 browsed files per page (By default we have 3 per page). This feature again seems to be missed. May be you guys can add this feature, so that it helps everyone.

I encountered the same limitation when making multiple uploads, currently it's very easy to ignore the pagination text and arrows, especially when you display various things below the st.file_uploader, it might look to some users that they have "forgot" to upload something.
Specifically to this issue's context, I think that st.file_uploader should have more display arguments:
display_max_files_per_page-(int), default: 3- set a specific number of results to be displayed per page (I would argue 5-10 would make more sense), only ifdisplay_uploaded_files='paginated',display_uploaded_files-['paginated', 'scroll'], default: 'paginated'- choose the display mode, as @Hackerran123 mentioned.
Some additional things that can be added, though I would be reluctant to open new issues for those:
display_uploaded_file_list-(bool), default: True- choose to display the uploaded file list below the widget or not- an alternative would be to either display nothing (
None/False),[ "uploaded_file_list" or "uploaded_file_summary"]-> eg:Uploaded 20 files, total of 10 MB (500 KB average).
- an alternative would be to either display nothing (
display_uploaded_file_metadata_format-(str) printf-like format string,default: human-readable file size, same as it is displayed now, maybe upload timestamp- what file metadata should be displayed to the right of each uploaded file in the list (should work similarly tost.slider'sformatarg)- now it only shows the file size, but it would be useful to also show the upload timestamp
- in case you're dealing with a lot of files and doing changes to them from within the Streamlit app, it would be a nice touch to know when you uploaded that so you know: how long you worked on that, encountered duplicates because you uploaded the same file in different usage sessions etc.
- now it only shows the file size, but it would be useful to also show the upload timestamp
Don't know if I'm following the naming standard used here for arguments, but I think this is a bit of functionality that would make sense for some users.
Fair request! I can see that this could be confusing. We should probably fix it at some point – but already want to note this seems like very low priority, so might take a while. Let's see if we get a lot of upvotes!
Would love for this feature to be added as well. Currently, 3 per page is simply not enough.
Taking a quick look at the code of withPagination component, it has a pageSize property. This is just assigned to 3 later on in the code. I'm guessing that adding the requested feature it's a matter of adding the right interfaces so that the user can change that value from python 🤔
I hope this gets added, very good feature !
Fair request! I can see that this could be confusing. We should probably fix it at some point – but already want to note this seems like very low priority, so might take a while. Let's see if we get a lot of upvotes!
Hi! Just would like to check if the issue will be fixed in the future, thanks!
Following up on this! A much needed feature that would ease navigation.