跳至主要內容

寫入一個檔案(RAW)

流式寫入

  • 介面描述

    PUT /write_file?filename=[URL 編碼的檔名] HTTP/1.1

    [檔案資料]
    • 直接接收檔案位元組流(非 base64 編碼),適用於大檔案上傳
    • 若目標檔案已存在會被覆蓋
  • 可能的返回

    • 成功:HTTP 204,無回應體
    • 失敗:
      • HTTP 400 + {"message":"invalid path"}(未提供 filename 或路徑非法)
      • HTTP 404 + {"message":"invalid path"}(無法建立目標路徑)
      • HTTP 500 + {"message":"…"}
  • 通過介面流式寫入內容到裝置腳本檔案 Python 3.x 範例(需要 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
    if resp.status_code != 204:
    print(resp.text)

Base64 寫入

  • 介面描述

    POST /write_file HTTP/1.1

    {"filename":"檔名","data":"內容的 base64 編碼字串"}
  • 可能的返回

    {"code":0,"message":"操作成功"}
    {"code":4,"message":"无法写入文件"}
  • 通過介面寫入內容到裝置腳本檔案 Python 3.x 範例(需要 requests 模組):

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

    with open('r:/123.lua', 'rb') as f: # 腳本文件路徑,直接讀取字節
    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') # 直接對字節做 base64 編碼
    },
    timeout=30,
    )

    print(resp.status_code, resp.reason) # 成功時 200 OK
    print(resp.text)

說明

  • 該介面檔案操作的根目錄為 /var/mobile/Media/1ferver/
  • 流式寫入 介面 2025-07-11 以後的版本可用