File size: 877 Bytes
025a6cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import requests
from PIL import Image
from io import BytesIO

def download_image(url):
    response = requests.get(url)
    img = Image.open(BytesIO(response.content))
    return img

st.title('Image Downloader')

url = st.text_input('Enter the image URL')
submit = st.button('Submit')

if url and submit:
    try:
        image = download_image(url)
        st.image(image, caption='Download Image', use_column_width=True)

        # Convert image to bytes
        img_byte_arr = BytesIO()
        image.save(img_byte_arr, format='PNG')
        img_byte_arr = img_byte_arr.getvalue()

        # Add download button
        st.download_button(
            label="Download Image",
            data=img_byte_arr,
            file_name='downloaded_image.png',
            mime='image/png'
        )
    except Exception as e:
        st.error(f'Error: {e}')