Escribir un archivo (RAW)
Escritura en flujo
-
Descripción del endpoint
PUT /write_file?filename=[nombre del archivo codificado como URL] HTTP/1.1
[datos del archivo]- Recibe directamente el flujo de bytes del archivo (sin codificación base64), adecuado para subir archivos grandes.
- Si el archivo de destino ya existe, se sobrescribe.
-
Posibles respuestas
- Éxito: HTTP 204, sin cuerpo de respuesta.
- Error:
- HTTP 400 +
{"message":"invalid path"}(no se proporcionó filename o la ruta no es válida). - HTTP 404 +
{"message":"invalid path"}(no se pudo crear la ruta de destino). - HTTP 500 +
{"message":"…"}
- HTTP 400 +
-
Ejemplo en Python 3.x para escribir contenido en flujo en un archivo de script del dispositivo (requiere el 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) # En caso de éxito: 204 No Content
if resp.status_code != 204:
print(resp.text)
Escritura en Base64
-
Descripción del endpoint
POST /write_file HTTP/1.1
{"filename":"nombre del archivo","data":"cadena de contenido codificada en base64"} -
Posibles respuestas
{"code":0,"message":"操作成功"}{"code":4,"message":"无法写入文件"} -
Ejemplo en Python 3.x para escribir contenido en un archivo de script del dispositivo (requiere el módulo requests):
# -*- coding: utf-8 -*-
import base64
import requests
with open('r:/123.lua', 'rb') as f: # Ruta del script; lee los bytes directamente
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 directamente los bytes en base64
},
timeout=30,
)
print(resp.status_code, resp.reason) # En caso de éxito: 200 OK
print(resp.text)
Descripción
- La raíz de las operaciones de archivos de este endpoint es
/var/mobile/Media/1ferver/. - El endpoint Escritura en flujo está disponible a partir de la versión
2025-07-11.