File Manager

Note: To display only the features present on a particular device, select one or more filters from the SmartDocs bar below.

Overview

The File Manager (FileMgr) allows an application to manage files on the device. For example, FileMgr permits an app to download a file from a server to the device, copy a file or folder from one area of the device to another and to delete files on the device. The File Manager also can extract files embedded within an XML document and download from the internet with or without basic authentication.

Main Functionality

  • Copy a file from local or remote locations to the device
  • Copy a file from data embedded in an XML object to the device
  • Copy or move a file or folder from one location on a device to another
  • Delete a file from the device
  • Copy a folder or archive file containing multiple files to the device
  • Download files from a server using HTTP, HTTPS, FTP or FTPS (FTP over TLS/SSL)
  • Supports basic authentication on HTTP servers when embedded within a URI
  • Download and process ".archive" files generated with StageNow using HTTP or HTTPs
  • Retry and/or resume operations after Wi-Fi or mobile network disconnects
  • Wait for a connection to be available before initiating a download

File Action

Used to specify the action to be performed on a file.

Parm Name: FileAction

Option Name Description Note Requires
1 Transfer/Copy File Copies a specified file to the device.

MX: 4.3+

4 Delete File Erases a specified file from the device.

MX: 4.3+

9 Download and Expand Archive File Copies an archive file to the device and extracts its contents.

MX: 5.0+

Target Access Method

Used to specify whether the file will be present in the device file system or embedded within an XML file.

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetAccessMethod

Option Name Description Note Requires
2 File in Device File System Specifies that the file is in the device file system.

MX: 4.3+

Destination Path and File Name

Used to specify the destination path and file name on the device to which to copy the object of the File Action.

Parm value input rules:

  • String from 1 - 255 characters containing the destination path and file name

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetPathAndFileName

Requires:

  • MX: 4.3+

Target URI

Used to specify the location (URI) of the file to copy from a remote server to the device.

Parm value input rules:

  • String containing the URI of the source file

Shown if: File Action is "Transfer/Copy"

Parm Name: TargetURI

Requires:

  • MX: 4.3+

Source Access

Used to specify the location of the source file to be copied or transferred.

Parm Name: SourceAccessMethod

Option Name Description Note Requires
1 File on remote server Indicates the source file is on a remote server.

MX: 4.3+

2 File on device file system Indicates the source file is on the device.

MX: 4.3+

3 File embedded in XML Indicates the source file is embedded in XML.

MX: 4.3+

Source URI

Used to specify the URI of the location of the file on the server. Supports HTTP, HTTPS, FTP and FTPS (FTP over TLS or SSL) protocols and basic authentication of URL-embedded credentials. See Examples section for syntax.

Note: HTTP/HTTPS requires MX 7.0 or higher; FTPS requires MX 7.1 or higher.

Parm value input rules:

  • String containing the URI of the source file
  • Credentials must be embedded within URI
  • Use "protocol=SSL" to override default (TLS)
  • Use "implicit=true" to override default (false)

Note: HTTP/S requires MX 7.0+; FTPS requires MX 7.1+

Shown if: File Action is Transfer/Copy and source is remote server

Parm Name: SourceURI

Requires:

  • MX: 4.3+

Source Path and File

Used to specify the path and file name of the source file location on the device.

Parm value input rules:

  • String containing the path and file name of the source file

Shown if: File Action is Transfer/Copy and source is on device

Parm Name: SourcePathAndFileName

Requires:

  • MX: 4.3+

Embedded File Type

Used to specify the type of file to be embedded.

Shown if: File Action is "Transfer/Copy" and Source is "Embedded"

Parm Name: SourceType

Option Name Description Note Requires
1 General data file (any extension) Indicates a source file with any extension type.

MX: 4.3+

2 Android application package (.APK file) Indicates a source file with an .APK extension

MX: 4.3+

3 Android OS Update (.ZIP file) Indicates a source file with a .ZIP extension.

MX: 4.3+

XML Embeded Source

Used to specify the source file data to be embedded in the XML.

Shown if: File Action is "Transfer/Copy "and Source Type is "File Embedded in XML" and Source Type is "General Data File"

Parm Name: SourceDataAny

Requires:

  • MX: 4.3+

APK Embedded Source

Used to specify the APK source file data to be embedded in the XML.

Shown if: File Action is Transfer/Copy and source type is 'File embedded in XML' and Embed type is 'Android Application' remote server

Parm Name: SourceDataApk

Requires:

  • MX: 4.3+

OS Update Embedded Source

Provide the source ZIP file data to be embedded in the XML.

Shown if: File Action is Transfer/Copy and source type is 'File embedded in XML' and Embed type is 'Android OS Update' remote server

Parm Name: SourceDataZip

Requires:

  • MX: 4.3+

Archive Target Path and Folder Name

Used to specify the path and folder name into which the downloaded archive file should be expanded.

Parm value input rules:

  • String from 1 - 255 containing the path and file name of the destination folder

Shown if: File Action is "Download and Expand Archive"

Parm Name: ArchiveTargetPathAndFolderName

Requires:

  • MX: 5.0+

Archive Source URI

Used to specify the URI of the source archive/ZIP file.

Parm value input rules:

  • String from 1 - 255 containing the URI of the source archive/ZIP file

Shown if: File Action is "Download and Expand Archive"

Parm Name: ArchiveSourceURI

Requires:

  • MX: 5.0+

Examples

Download From HTTP/HTTPs


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value=" http://mycompany.com/file/emmtk.war"/>
        <parm name="TargetPathAndFileName" value="/internal/tmpp/10m_testfile.bin"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Download and Unarchive


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="9"/>
    <characteristic type="file-details">
        <parm name="ArchiveTargetPathAndFolderName" value="/sdcard/Android/extract3"/>
        <parm name="ArchiveSourceURI" value="https://secure.mycompany.com/httpsdownload/ArchiveFileTemp.archive"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Perform Basic Authentication


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="http://username:password@192.168.0.100:21/secure/10m_testfile.bin"/>
        <parm name="TargetPathAndFileName" value="/internal/tmpp/10m_testfile.bin"/>
    </characteristic>
    </characteristic>
</wap-provisioningdoc>

Download From FTPS With Explicit Connection


<wap-provisioningdoc>
  <characteristic version="0.6" type="FileMgr">
    <parm name="FileAction" value="1" />
    <characteristic type="file-details">
      <parm name="TargetAccessMethod" value="2" />
      <parm name="TargetPathAndFileName" value="/storage/sdcard0/MSC_FileMgr_FTPS_TC01_1.apk"/>
      <parm name="SourceAccessMethod" value="1" />
      <parm name="SourceURI" value="ftps://username:password@192.168.0.100:21/secure/10m_testfile.bin" />
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS With Implicit connection


<wap-provisioningdoc>
  <characteristic version="0.6" type="FileMgr">
    <parm name="FileAction" value="1" />
    <characteristic type="file-details">
      <parm name="TargetAccessMethod" value="2" />
      <parm name="TargetPathAndFileName" value="/storage/sdcard0/MSC_FileMgr_FTPS_TC01_1.apk"/>
      <parm name="SourceAccessMethod" value="1" />
      <parm name="SourceURI" value="ftps://username:password@192.168.0.100:21/secure/10m_testfile.bin?implicit=true" />
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS Through Open SSL server with Explicit Connection


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="ftp-p://username:password@192.168.0.100:21/secure/TestFile.apk"/>
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk"/>
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Download From FTPS through Open SSL Server with Implicit connection


<wap-provisioningdoc>
    <characteristic type="FileMgr" version="5.0" >
        <parm name="FileAction" value="1"/>
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2"/>
        <parm name="SourceAccessMethod" value="1"/>
        <parm name="SourceURI" value="ftp-p://username:password@192.168.0.100:21/secure/TestFile.apk?ftpClient.keyStore.file=/enterprise/usr/stagenow/vsftpd.p12&amp;ftpClient.keyStore.password=password&amp;ftpClient.keyStore.type=PKCS12&amp;implicit=true&amp;protocol=SSL"/>
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk"/>
    </characteristic>
  </characteristic>
</wap-provisioningdoc>

Encode Special Characters in Username

Special (reserved) characters in a user name (i.e. the @ sign) must be encoded. For example, "username@company.com" should appear as "username%40company.com" in the SourceURI (as below).


<wap-provisioningdoc>
    <characteristic version="5.0" type="FileMgr">
        <parm name="FileAction" value="1" />
    <characteristic type="file-details">
        <parm name="TargetAccessMethod" value="2" />
        <parm name="TargetPathAndFileName" value="/sdcard/TestFile.apk" />
        <parm name="SourceAccessMethod" value="1" />
        <parm name="SourceURI" value="ftp-p://username%40company.com:password@192.168.0.100:21/Test/TestFile.apk />
    </characteristic>
    </characteristic>
</wap-provisioningdoc>