Static file serving

Streamlit 应用程序可以托管并提供小型静态媒体文件,以支持无法使用普通 媒体元素 的媒体嵌入用例。

要启用此功能,请在配置文件的[server]下设置enableStaticServing = true,或者设置环境变量STREAMLIT_SERVER_ENABLE_STATIC_SERVING=true

存储在运行应用程序文件相对路径./static/文件夹中的媒体文件可以通过路径app/static/[filename]访问,例如http://localhost:8501/app/static/cat.png

  • 具有以下扩展名的文件将正常提供:".jpg", ".jpeg", ".png", ".gif"。任何其他文件将使用Content-Type:text/plain头发送,这将导致浏览器以纯文本形式呈现。这是出于安全考虑 - 需要呈现的其他文件类型应在应用程序外部托管。
  • Streamlit 还为从静态目录渲染的所有文件设置了 X-Content-Type-Options:nosniff
  • 对于在Streamlit Community Cloud上运行的应用程序:
    • Github仓库中可用的文件将始终被提供。应用程序运行时生成的任何文件,例如基于用户交互(文件上传等)生成的文件,不能保证在用户会话之间持久保存。
    • 存储和提供许多文件或大文件的应用程序可能会遇到资源限制并被关闭。
  • 将图片 cat.png 放入文件夹 ./static/
  • 在你的.streamlit/config.toml中的[server]下添加enableStaticServing = true
  • 任何在 ./static/ 文件夹中的媒体文件都会在相对 URL 上提供服务,例如 app/static/cat.png
# .streamlit/config.toml [server] enableStaticServing = true
# app.py import streamlit as st with st.echo(): st.title("CAT") st.markdown("[![Click me](app/static/cat.png)](https://streamlit.io)")

额外资源:

forum

还有问题吗?

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