Aller au contenu principal

Écrire un fichier (RAW)

Écriture en flux

  • Description de l’interface

    PUT /write_file?filename=[nom du fichier encodé dans l’URL] HTTP/1.1

    [données du fichier]
    • Reçoit directement le flux d’octets du fichier (non encodé en base64), ce qui convient aux téléversements de gros fichiers.
    • Si le fichier cible existe déjà, il est écrasé.
  • Réponses possibles

    • Succès : HTTP 204, sans corps de réponse.
    • Échec :
      • HTTP 400 + {"message":"invalid path"} (filename non fourni ou chemin invalide)
      • HTTP 404 + {"message":"invalid path"} (impossible de créer le chemin cible)
      • HTTP 500 + {"message":"…"}
  • Exemple d’écriture en flux dans un fichier de script sur l’appareil via l’interface en Python 3.x (module requests requis) :

    # -*- 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 en cas de succès
    if resp.status_code != 204:
    print(resp.text)

Écriture Base64

  • Description de l’interface

    POST /write_file HTTP/1.1

    {"filename":"nom du fichier","data":"chaîne du contenu encodée en base64"}
  • Réponses possibles

    {"code":0,"message":"操作成功"}
    {"code":4,"message":"无法写入文件"}
  • Exemple d’écriture dans un fichier de script sur l’appareil via l’interface en Python 3.x (module requests requis) :

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

    with open('r:/123.lua', 'rb') as f: # Chemin du script ; lire directement les octets
    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') # Encoder directement les octets en base64
    },
    timeout=30,
    )

    print(resp.status_code, resp.reason) # 200 OK en cas de succès
    print(resp.text)

Remarque

  • La racine des opérations sur les fichiers de cette interface est /var/mobile/Media/1ferver/.
  • L’interface Écriture en flux est disponible dans les versions postérieures à 2025-07-11.