You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Streamlit实现文件上传至Azure Blob Storage

使用Streamlit实现文件上传至Azure存储容器

完全可以实现这个需求,下面是一套可直接运行的实操方案:

步骤1:安装依赖包

先安装所需的Python库:

pip install streamlit azure-storage-blob

步骤2:配置Azure存储凭证

推荐通过环境变量存储Azure存储连接字符串(避免硬编码泄露敏感信息):

  • Windows:set AZURE_STORAGE_CONNECTION_STRING="你的连接字符串"
  • macOS/Linux:export AZURE_STORAGE_CONNECTION_STRING="你的连接字符串"

仅测试场景下可直接在代码中定义连接字符串,生产环境强烈不推荐。

步骤3:编写Streamlit应用代码

创建app.py文件,内容如下:

import streamlit as st
from azure.storage.blob import BlobServiceClient
import os

# 初始化Azure Blob服务客户端
connection_string = os.getenv("AZURE_STORAGE_CONNECTION_STRING")
blob_service_client = BlobServiceClient.from_connection_string(connection_string)

# 目标容器名称(需提前在Azure存储中创建)
container_name = "your-container-name"

# Streamlit页面布局
st.title("文件上传至Azure存储")
uploaded_file = st.file_uploader("选择要上传的文件", type=["txt", "pdf", "png", "jpg"])

if uploaded_file is not None:
    # 展示文件基础信息
    st.write(f"文件名: {uploaded_file.name}")
    st.write(f"文件大小: {uploaded_file.size} bytes")

    # 上传触发按钮
    if st.button("上传至Azure存储"):
        try:
            # 获取容器客户端
            container_client = blob_service_client.get_container_client(container_name)
            # 执行上传(overwrite=True表示覆盖同名文件)
            container_client.upload_blob(name=uploaded_file.name, data=uploaded_file, overwrite=True)
            st.success("文件上传成功!")
        except Exception as e:
            st.error(f"上传失败: {str(e)}")

关键注意事项

  • 需提前在Azure存储控制台创建好目标容器,名称要与代码中container_name匹配
  • Streamlit默认限制单文件上传大小为200MB,如需扩容可启动时添加参数:streamlit run app.py --server.maxUploadSize=1024(示例设置为1GB)
  • 生产环境务必用环境变量或Azure Key Vault管理凭证,禁止硬编码敏感信息

内容的提问来源于stack exchange,提问作者Thiziri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:59:57