ImageToMD5 / app.py
Aleye's picture
Update app.py
de6de1b verified
Raw
History Blame Contribute Delete
1.53 kB
import gradio as gr
import hashlib
import io
import requests
from PIL import Image
import json
def get_image_md5(image_url):
"""
从URL获取图片,返回其MD5值
Args:
image_url (str): 图片URL地址
Returns:
str: JSON格式的结果,包含isSuccess、msg和data字段
"""
try:
# 从URL获取图片
response = requests.get(image_url)
response.raise_for_status()
# 打开图片
image = Image.open(io.BytesIO(response.content))
# 计算MD5值
buffered = io.BytesIO()
image.save(buffered, format=image.format)
md5_hash = hashlib.md5(buffered.getvalue()).hexdigest()
result = {
"isSuccess": True,
"msg": "处理成功",
"data": md5_hash
}
return json.dumps(result, ensure_ascii=False, indent=2)
except Exception as e:
result = {
"isSuccess": False,
"msg": f"处理失败: {str(e)}",
"data": None
}
return json.dumps(result, ensure_ascii=False, indent=2)
# 创建Gradio界面
app = gr.Interface(
fn=get_image_md5,
inputs=gr.Textbox(label="图片URL", placeholder="请输入图片URL地址"),
outputs=gr.Textbox(label="结果 (JSON格式)", lines=10),
title="文子,收你来了",
description="输入图片URL,获取图片的MD5值,返回JSON格式结果"
)
# 启动应用
if __name__ == "__main__":
app.launch()