如何通过Gradio API返回的输出字符串查看结果图片
如何查看Gradio Client生成的AI艺术二维码图片?
你遇到的问题核心是:Hugging Face Space的容器临时文件目录(/tmp/gradio/)不对外暴露直接访问权限,所以拼接URL会返回404;直接用requests下载时缺少Gradio会话验证,导致下载的文件损坏。以下是可行的解决方法:
方法一:使用Gradio Client自带的download方法
Gradio Python Client内置了文件下载功能,能自动处理会话验证,直接获取正确的图片文件:
from gradio_client import Client # 初始化客户端 client = Client("https://huggingface-projects-qr-code-ai-art-generator--58b6vlwzv.hf.space/") # 执行预测(参数保持你的设置) result = client.predict( "https://my-url-here.com", "red bus", "blue", 1, 1, 0.9, -1, "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png", "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png", True, "DPM++ Karras SDE", fn_index=0 ) # 下载图片到Colab本地 local_img_path = client.download(result) print(f"图片已保存至: {local_img_path}")
方法二:在Colab中直接查看图片
下载完成后,可通过以下两种方式快速查看图片:
方式1:用Colab自带的display模块
from google.colab import display display.Image(local_img_path)
方式2:用PIL+Matplotlib显示
from PIL import Image import matplotlib.pyplot as plt img = Image.open(local_img_path) plt.imshow(img) plt.axis('off') # 隐藏坐标轴 plt.show()
为什么之前的方法失效?
- 直接拼接URL访问:HF Space的
/tmp/gradio/是容器内部临时目录,未配置对外访问的路由,因此返回Not Found。 - requests直接下载:Gradio Client与Space交互时会维护会话状态,直接用requests请求缺少会话验证信息,下载到的是错误的响应内容(而非图片数据),导致文件损坏。
内容的提问来源于stack exchange,提问作者Gordon Liang
相关产品推荐
相关产品推荐

