Zum Hauptinhalt springen

Datei schreiben (RAW)

Stream-Schreiben

  • Schnittstellenbeschreibung

    PUT /write_file?filename=[URL-codierter Dateiname] HTTP/1.1

    [Dateidaten]
    • Empfängt direkt einen Datei-Byte-Stream (nicht Base64-codiert), geeignet für das Hochladen großer Dateien.
    • Eine vorhandene Zieldatei wird überschrieben.
  • Mögliche Antworten

    • Erfolg: HTTP 204, ohne Antwort-Body.
    • Fehler:
      • HTTP 400 + {"message":"invalid path"} (filename nicht angegeben oder Pfad ungültig)
      • HTTP 404 + {"message":"invalid path"} (Zielpfad kann nicht erstellt werden)
      • HTTP 500 + {"message":"…"}
  • Python-3.x-Beispiel zum Stream-Schreiben in eine Skriptdatei auf dem Gerät über die Schnittstelle (requests-Modul erforderlich):

    # -*- 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) # Bei Erfolg 204 No Content
    if resp.status_code != 204:
    print(resp.text)

Base64-Schreiben

  • Schnittstellenbeschreibung

    POST /write_file HTTP/1.1

    {"filename":"Dateiname","data":"Base64-codierte Zeichenfolge des Inhalts"}
  • Mögliche Antworten

    {"code":0,"message":"操作成功"}
    {"code":4,"message":"无法写入文件"}
  • Python-3.x-Beispiel zum Schreiben in eine Skriptdatei auf dem Gerät über die Schnittstelle (requests-Modul erforderlich):

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

    with open('r:/123.lua', 'rb') as f: # Skriptdateipfad, Bytes direkt lesen
    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') # Bytes direkt Base64-codieren
    },
    timeout=30,
    )

    print(resp.status_code, resp.reason) # Bei Erfolg 200 OK
    print(resp.text)

Hinweise

  • Das Stammverzeichnis für Dateioperationen dieser Schnittstelle ist /var/mobile/Media/1ferver/.
  • Die Schnittstelle Stream-Schreiben ist in Versionen nach 2025-07-11 verfügbar.