How to upload and save pictures in a streamlit app

I wish to upload a picture and save it, and later retrieve using a dashboard

Hi @Luigi_Giugliano, welcome to the forum!

This question is pretty broad, and it would be helpful to know more information about the issue you’re facing. For example:

  • Where are you hoping to save the picture?
  • What have you tried so far that hasn’t worked?
  • Have you read through the streamlit docs to discover things like st.file_uploader and st.image?

If you could read through this post Using Streamlit: how to post a question in the Streamlit forum and add some more details to your question (if reading the docs and other forum posts doesn’t answer your question), that would be helpful.

Hi man! thanks for the warm welcome!
I’ve just started a few weeks ago with Streamlit, and I like it so much. Until now I did some apps with Shiny, but as I’m more of a Python guy I definitely prefer it.
I’m an ecologist and I want to build an app to collect data in the field. I wanted to store it in Deta and actually, using the tutorial, it worked pretty well. My wish is also to store pictures of the habitat for example and retrieve them later using another app dashboard maybe with folium. The only problem is that I have realized that Deta doesn’t allow storing pictures (I think), and so I am looking for an alternative way. I know how to use st.file_uploader and st.image…here is a screenshot of the pilot.
What do you think?

What makes you think Deta does not allow storing pictures?

I did!!.. thanks for the input!! I had to use Drive :ok_hand:

Please share how did you did that? Im facing the same issue.

You need to use deta.drive

@saurabh_sharma
Read the documentation and try a simple example on your own.


  • Deta Base is a key-value store/database
  • Deta Drive is for storing files

Hi @Franky1 , there is no option of “Developer mode” in the deta base. I have submitted my request but no reply from them. Whats the other options available to have pictures in the streamlit app. Please let me know.