InMemoryFileManager: Missing file

Hello,

I have an st.button(‘Submit’) that when clicked, generates a file and offers a st.download_button()

When “Download” is pressed, download initiates, then page is refreshed with just the “Submit” button visible.

When “Submit” is pressed again, it re-offers the “Download” button, but when it is pressed, it generates an error

InMemoryFileManager: Missing file ee70dc10787eafa72ea16575eaf44be832c7fdd132ea6766e7347647.txt

The only way to download again is to use the browser refresh button.

How to get around this error?

TIA!

Hi @jeisma,

Thanks for posting!

Can you share a code snippet so we can reproduce the issue?

Caroline :balloon:

Thanks!

import streamlit as st

def main ( ):
    
    if st.button('Submit'):               
        f = 'my data'                
        st.download_button("Download data file", data=f, file_name="mydata.dat")                    
                    
if __name__ == '__main__':
    main()

Hi all,
I am also facing similar issue. I am trying to download an html file using st.download_button which works fine on my local but fails on server. Clicking the download button opens a new page on browser which shows “404: Not Found”

with open('abcd.html') as f:
        html = f.read()
        st.download_button(
             label="Download HTML",
             data=html,
             file_name='file-001.html',
             mime='text/html',
         )

and on the server it says

 InMemoryFileManager: Missing file 37ba55f0cf1fb680ef6372c83c2f68cbb8ae77b67e28.html

If anyone has faced this issue or can help resolving it, please share your thoughts.
Thanks

Hello, has anyone found a root cause for this? We are facing a similar issue.

        with st.container():
                st.subheader(title)
                st.download_button(
                    "Download CSV",
                    convert_df(dataframe),
                    str(title) + ".csv",
                    "text/csv",
                    key=f'{key}-download-csv'
                )

Your code works for me after defining the undefined names. Maybe there is an issue with the way you are defining them.

1 Like

It is intermittent for us, and the first time download always succeeds, but some times when we come back to the page, and click download again, it gives 404.

Where is the app deployed? Do you have an example we can reproduce?

i also found this issue, i change some asset file in the apps and now i keep getting this issue.
it always happen the first time i open the page and after i refresh the page its fine but i think because i keep getting the warning, the apps ofter down