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。')