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