mx / app.py
Ethscriptions's picture
Update app.py
6924c65 verified
raw
history blame
1.2 kB
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。')