Spaces:
Sleeping
Sleeping
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}') |