Where does st.file_uploader store uploaded files and when do they get deleted?

当你使用st.file_uploader上传文件时,数据会通过浏览器复制到Streamlit后端,并包含在Python内存中的BytesIO缓冲区中(即RAM,而不是磁盘)。数据将保留在RAM中,直到Streamlit应用程序从上到下重新运行,这在每次小部件交互时都会发生。如果你需要在运行之间保存上传的数据,那么你可以缓存它,以便Streamlit在重新运行之间保持它。

由于文件存储在内存中,一旦不再需要,它们会立即被删除。

这意味着当以下情况发生时,Streamlit 会从内存中移除一个文件:

  • 用户上传另一个文件,替换原始文件
  • 用户清除了文件上传器
  • 用户关闭了他们上传文件的浏览器标签页

相关论坛帖子:

forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。