Spaces:
Sleeping
Sleeping
File size: 1,532 Bytes
62d785d 0aa8d83 62d785d 93de32e 62d785d 93de32e 62d785d 0aa8d83 62d785d 93de32e 62d785d 0aa8d83 62d785d 0aa8d83 62d785d 0aa8d83 62d785d 93de32e 62d785d 0aa8d83 de6de1b 0aa8d83 62d785d | 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 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() |