Chuyển tới nội dung chính

Ghi tệp (RAW)

Ghi theo luồng

  • Mô tả giao diện

    PUT /write_file?filename=[tên tệp được mã hóa URL] HTTP/1.1

    [dữ liệu tệp]
    • Nhận byte thô của tệp, không mã hóa Base64, phù hợp để tải lên tệp lớn
    • Ghi đè đích nếu đã tồn tại
  • Phản hồi có thể có

    • Thành công: HTTP 204, không có nội dung phản hồi
    • Thất bại:
      • HTTP 400 + {"message":"invalid path"} (thiếu filename hoặc đường dẫn không hợp lệ)
      • HTTP 404 + {"message":"invalid path"} (không thể tạo đường dẫn đích)
      • HTTP 500 + {"message":"…"}
  • Ví dụ Python 3.x để ghi nội dung theo luồng vào tệp kịch bản, yêu cầu requests:

    # -*- coding: utf-8 -*-
    import requests

    with open("r:/123.lua", "rb") as f:
    resp = requests.put(
    "http://192.168.31.72:46952/write_file",
    params={"filename": "lua/scripts/123.lua"},
    data=f,
    timeout=30,
    )

    print(resp.status_code, resp.reason) # 204 No Content khi thành công
    if resp.status_code != 204:
    print(resp.text)

Ghi bằng Base64

  • Mô tả giao diện

    POST /write_file HTTP/1.1

    {"filename":"tên tệp","data":"nội dung được mã hóa Base64"}
  • Phản hồi có thể có

    {"code":0,"message":"操作成功"}
    {"code":4,"message":"无法写入文件"}
  • Ví dụ Python 3.x để ghi nội dung vào tệp kịch bản, yêu cầu requests:

    # -*- coding: utf-8 -*-
    import base64
    import requests

    with open('r:/123.lua', 'rb') as f: # đường dẫn tệp kịch bản, đọc trực tiếp byte thô
    resp = requests.post(
    "http://192.168.31.72:46952/write_file",
    json={
    "filename": "lua/scripts/123.lua",
    "data": base64.b64encode(f.read()).decode('utf-8')
    },
    timeout=30,
    )

    print(resp.status_code, resp.reason) # 200 OK khi thành công
    print(resp.text)

Lưu ý

  • Thư mục gốc của cả hai phương thức ghi là /var/mobile/Media/1ferver/
  • Điểm cuối ghi theo luồng khả dụng trong các phiên bản sau 2025-07-11