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":"…"}
- HTTP 400 +
-
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-11verfügbar.