Spaces:
Running
Running
| import requests | |
| import os | |
| from PIL import Image | |
| import io | |
| def test_api(image_path, api_url="http://localhost:8000"): | |
| """测试纹身移除API""" | |
| # 检查输入图片是否存在 | |
| if not os.path.exists(image_path): | |
| print(f"错误:找不到输入图片 {image_path}") | |
| return | |
| try: | |
| # 准备文件 | |
| with open(image_path, 'rb') as f: | |
| files = {'file': (os.path.basename(image_path), f, 'image/jpeg')} | |
| # 发送请求 | |
| print("正在发送请求到API...") | |
| response = requests.post(f"{api_url}/remove-tattoo", files=files) | |
| if response.status_code == 200: | |
| # 保存结果 | |
| output_path = os.path.splitext(image_path)[0] + "_api_removed.png" | |
| image = Image.open(io.BytesIO(response.content)) | |
| image.save(output_path) | |
| print(f"处理完成!结果已保存至:{output_path}") | |
| else: | |
| print(f"API请求失败,状态码:{response.status_code}") | |
| print(f"错误信息:{response.text}") | |
| except requests.exceptions.ConnectionError: | |
| print("连接错误:无法连接到API服务器") | |
| print("请确保API服务器正在运行(python -m uvicorn api.app:app --host 0.0.0.0 --port 8000)") | |
| except Exception as e: | |
| print(f"测试过程中出现错误:{str(e)}") | |
| if __name__ == "__main__": | |
| import sys | |
| if len(sys.argv) != 2: | |
| print("使用方法:python test_api.py <图片路径>") | |
| print("例如:python test_api.py test_image.jpg") | |
| sys.exit(1) | |
| test_api(sys.argv[1]) |