Spaces:
Sleeping
Sleeping
import streamlit as st | |
import requests | |
from io import BytesIO | |
# 设置Streamlit应用程序的标题 | |
st.title('文件下载器') | |
# 创建一个文本输入框,让用户输入文件的URL | |
url = st.text_input('输入文件的URL:') | |
# 如果用户输入了URL并且点击了下载按钮 | |
if st.button('下载'): | |
if url: | |
try: | |
# 发送HTTP GET请求以下载文件 | |
response = requests.get(url) | |
response.raise_for_status() # 如果发生HTTP错误,将引发异常 | |
# 从URL中提取文件名 | |
filename = url.split('/')[-1] | |
# 创建一个字节流对象 | |
file = BytesIO(response.content) | |
# 提供文件下载 | |
st.download_button(label='下载文件', | |
data=file, | |
file_name=filename, | |
mime='application/octet-stream') | |
st.success(f"文件已准备好下载:{filename}") | |
except requests.exceptions.RequestException as e: | |
st.error(f"下载文件时出错:{e}") | |
else: | |
st.warning('请输入一个有效的URL。') | |