襁壮鸢 发表于 2025-7-18 16:51:26

Streamlit 的静态文件服务(Static file serving)

Streamlit 应用可以托管并提供小型静态媒体文件,用于支持那些无法通过常规 媒体元素 实现的媒体嵌入场景。
如需启用此功能,请在配置文件的 部分设置 enableStaticServing = true,
或使用环境变量 STREAMLIT_SERVER_ENABLE_STATIC_SERVING=true。
存放在应用文件同级目录下 ./static/ 文件夹中的媒体文件,
可通过路径 app/static/[文件名] 访问,
例如 http://localhost:8501/app/static/cat.png。
使用细节


[*]以下扩展名的文件将被正常提供:

[*]常见图片格式:.jpg、.jpeg、.png、.gif
[*]常见字体格式:.otf、.ttf、.woff、.woff2
[*]其他类型:.pdf、.xml、.json
其他任何类型的文件都会以 Content-Type:text/plain 的响应头发送,浏览器会将其渲染为纯文本。
这是出于安全考虑——需要渲染的其他文件类型应托管在应用外部。

[*]Streamlit 还会为从 static 目录渲染的所有文件设置 X-Content-Type-Options:nosniff 响应头。
[*]对于部署在 Streamlit Community Cloud 的应用:

[*]GitHub 仓库中存在的文件始终可被访问。任何在应用运行过程中生成的文件(如用户上传的文件等),
无法保证在会话之间持久存在。
[*]如果应用存储并提供大量文件或大文件,可能会触及资源限制而被关闭。

使用示例


[*]将图片 cat.png 放入 ./static/ 文件夹
[*]在 .streamlit/config.toml 的 部分添加 enableStaticServing = true
[*]./static/ 文件夹中的任何媒体文件都可以通过相对 URL 如 app/static/cat.png 被访问
# .streamlit/config.toml

enableStaticServing = true# app.py
import streamlit as st

with st.echo():
    st.title("CAT")
    st.markdown("[![点我](app/static/cat.png)](https://streamlit.io)")更多资源


[*]配置与自定义应用 - Streamlit 文档
[*]静态文件服务示例应用
仍有疑问?

我们的 论坛 汇聚了大量有用信息和 Streamlit 专家。

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除
页: [1]
查看完整版本: Streamlit 的静态文件服务(Static file serving)