Skip to main content

upload · pushPath

This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET

Put a file from this machine where the device keeps downloads, so an app's file picker finds it: Android's shared Download folder, or on iOS an app's own Documents folder, which the Files app shows under On My iPhone. These call app_upload.

upload​

upload(path: string, options?: { name?: string; app?: string }): Promise<Data>

Put a local file where the device keeps downloads: Android's shared Download folder (app is ignored), or an iOS simulator app's Documents, the app in front unless named — on a real iPhone too.

pushPath​

pushPath(local: string, devicePath: string, options?: { app?: string }): Promise<Data>

Send a local file or folder to a path on the device; every file's size is read back there.

Examples​

Send a file where the device keeps downloads​

const sent = await device.upload('invoice-42.txt')
console.log(sent.where, sent.bytes, sent.checked)

The same call from the command line, mobium upload invoice-42.txt, printed on an Android 15 emulator:

uploaded …/invoice-42.txt to Download/invoice-42.txt (24 bytes) — confirmed by its size read back on the device, and MediaStore listing it

After mobium upload invoice-42.txt, the Files Demo&#39;s Upload a file opened the system picker, the file was in it, and the line under the button says the name, size and first line of what arrived — on an Android 15 emulator

After mobium upload invoice-42.txt, the Files Demo's Upload a file opened the system picker, the file was in it, and the line under the button says the name, size and first line of what arrived — on an Android 15 emulator

Send a folder to a path on the device​

const sent = await device.pushPath('seed', '/sdcard/seed')
console.log(sent.files, sent.checked)

The same call from the command line, mobium upload ./seed --device-path /sdcard/seed, printed on an Android 15 emulator:

uploaded …/seed to /sdcard/seed (a folder of 2 files, 8 bytes) — confirmed by each of its 2 files' sizes read back on the device