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