Pular para o conteúdo principal

Gravar um arquivo (RAW)

Gravação em fluxo

  • Descrição da API

    PUT /write_file?filename=[nome do arquivo codificado como URL] HTTP/1.1

    [dados do arquivo]
    • recebe diretamente o fluxo de bytes do arquivo (sem codificação base64), adequado para enviar arquivos grandes;
    • substitui o arquivo de destino se ele já existir.
  • Possíveis retornos

    • sucesso: HTTP 204, sem corpo de resposta;
    • falha:
      • HTTP 400 + {"message":"invalid path"} (filename não informado ou caminho inválido);
      • HTTP 404 + {"message":"invalid path"} (não foi possível criar o caminho de destino);
      • HTTP 500 + {"message":"…"}.
  • Exemplo em Python 3.x para gravar conteúdo em fluxo no arquivo de script do dispositivo pela API (requer o módulo 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 em caso de sucesso
    if resp.status_code != 204:
    print(resp.text)

Gravação em Base64

  • Descrição da API

    POST /write_file HTTP/1.1

    {"filename":"nome do arquivo","data":"string do conteúdo codificada em base64"}
  • Possíveis retornos

    {"code":0,"message":"操作成功"}
    {"code":4,"message":"无法写入文件"}
  • Exemplo em Python 3.x para gravar conteúdo no arquivo de script do dispositivo pela API (requer o módulo requests):

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

    with open('r:/123.lua', 'rb') as f: # caminho do arquivo de script; lê os bytes diretamente
    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') # codifica os bytes diretamente em base64
    },
    timeout=30,
    )

    print(resp.status_code, resp.reason) # 200 OK em caso de sucesso
    print(resp.text)

Descrição

  • O diretório raiz das operações de arquivo desta API é /var/mobile/Media/1ferver/.
  • A API de gravação em fluxo está disponível a partir da versão 2025-07-11.