mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-24 05:39:16 +08:00
36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
import json
|
|
import os
|
|
from pathlib import Path
|
|
|
|
import requests
|
|
|
|
base = os.environ.get("LANGFLOW_URL", "")
|
|
flow_id = os.environ.get("FLOW_ID", "")
|
|
api_key = os.environ.get("LANGFLOW_API_KEY", "")
|
|
|
|
fixtures = Path(__file__).resolve().parents[2] / "fixtures"
|
|
upload_path = Path(os.environ.get("SAMPLE_UPLOAD_FILE", str(fixtures / "sample-upload.txt")))
|
|
|
|
headers = {"accept": "application/json", "x-api-key": api_key}
|
|
|
|
upload = requests.post(
|
|
f"{base}/api/v1/files/upload/{flow_id}",
|
|
headers=headers,
|
|
files={"file": (upload_path.name, upload_path.read_bytes(), "text/plain")},
|
|
timeout=30,
|
|
)
|
|
upload.raise_for_status()
|
|
meta = upload.json()
|
|
file_name = meta["file_path"].split("/")[-1]
|
|
|
|
download = requests.get(
|
|
f"{base}/api/v1/files/download/{flow_id}/{file_name}",
|
|
headers=headers,
|
|
timeout=30,
|
|
)
|
|
download.raise_for_status()
|
|
|
|
out_path = Path("downloaded_file.txt")
|
|
out_path.write_bytes(download.content)
|
|
print(json.dumps({"saved_bytes": len(download.content), "path": str(out_path), "upload": meta}))
|