File size: 1,204 Bytes
4f989ff
6924c65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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。')