July 28, 2022, 8:38pm
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?
Thanks for posting!
Can you share a code snippet so we can reproduce the issue?
August 4, 2022, 7:19pm
import streamlit as st
def main ( ):
f = 'my data'
st.download_button("Download data file", data=f, file_name="mydata.dat")
if __name__ == '__main__':
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()
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.
Hello, has anyone found a root cause for this? We are facing a similar issue.
str(title) + ".csv",
March 13, 2023, 8:31pm
Your code works for me after defining the undefined names. Maybe there is an issue with the way you are defining them.
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?