Maybe too soon, but i was testing the new method for obtaining an image directly from a webcam (st.camera_input). It is quite easy to display the picture back into the app.

But i’m trying to read it or as an image, or as bytes. The class returned is: “<class ‘streamlit.uploaded_file_manager.UploadedFile’>”.

Do you know how to properly return (and possibly save this image)?


In the docs, we do the example if you want to show it, which uses st.write():

However, the st.file_uploader example shows how to do different things with the bytes:

if uploaded_file is not None:
     # To read file as bytes:
     bytes_data = uploaded_file.getvalue()

     # To convert to a string based IO:
     stringio = StringIO(uploaded_file.getvalue().decode("utf-8"))

     # To read file as string:
     string_data =

     # Can be used wherever a "file-like" object is accepted:
     dataframe = pd.read_csv(uploaded_file)
1 Like

Thanks a lot,

the method getvalue() solves my problem.