Fetch-Content / app.py
KingNish's picture
Update app.py
e6218e4 verified
raw
history blame
1.14 kB
import gradio as gr
import requests
import os
def download_file(url):
"""Downloads a file from a URL and returns the local file path."""
try:
response = requests.get(url, stream=True)
response.raise_for_status() # Raise an exception for bad status codes
# Generate a unique temporary filename
temp_filename = os.path.basename(url)
with open(temp_filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
return temp_filename
except requests.exceptions.MissingSchema:
return "Error: Invalid URL format. Please include the protocol (e.g., http:// or https://)."
except requests.exceptions.ConnectionError:
return "Error: Could not connect to the server. Please check your internet connection."
except requests.exceptions.RequestException as e:
return f"Error downloading file: {e}"
iface = gr.Interface(
fn=download_file,
inputs=gr.Textbox(lines=1, placeholder="Enter URL of the file"),
outputs=gr.File(),
title="File Downloader",
description="Enter the URL of an image, video, document, etc. to download it.",
)
iface.launch()