# client.py import requests import base64 import argparse BASE_URL = "http://127.0.0.1:8000" def test_upload_form_file(file_path: str): """表单文件上传(二进制文件)""" url = f"{BASE_URL}/upload/form" with open(file_path, "rb") as f: files = {"file": f} resp = requests.post(url, files=files) print("=== Form上传结果 ===") print("status_code:", resp.status_code) print("resp:", resp.json()) if resp.status_code == 200: path = resp.json() md_link = f"![]({BASE_URL}{path})" dl_link = f"{BASE_URL}{path}?dl=1" print(f"Markdown图片链接:{md_link}") print(f"下载链接:{dl_link}\n") return path return None def test_upload_base64(file_path: str, filename: str): """base64上传,POST JSON""" url = f"{BASE_URL}/upload/base64" with open(file_path, "rb") as f: raw = f.read() b64_str = base64.b64encode(raw).decode("utf-8") payload = { "base64_data": b64_str, "filename": filename } resp = requests.post(url, json=payload) print("=== Base64上传结果 ===") print("status_code:", resp.status_code) print("resp:", resp.json()) if resp.status_code == 200: path = resp.json() md_link = f"![]({BASE_URL}{path})" dl_link = f"{BASE_URL}{path}?dl=1" print(f"Markdown图片链接:{md_link}") print(f"下载链接:{dl_link}\n") return path return None if __name__ == "__main__": parser = argparse.ArgumentParser(description='') parser.add_argument("--port", type=int, default=8000, help="缺省: 8000") parser.add_argument("--test_file", type=str, default="test.jpg", help="缺省: test.jpg") args = parser.parse_args() test_file = args.test_file BASE_URL = f"http://127.0.0.1:{args.port}" test_upload_form_file(test_file) test_upload_base64(test_file, "风景.jpg")