See the App Inventor Extensions document about how to use an App Inventor Extension.
For questions about this extension, bug reports and feature requests, please start a new thread in the App Inventor Extensions forum. Thank you.
Dec 14th, 2015: Version 1: Demo version of the FTP Extension released
Jun 7th, 2016: Version 2: possibility added to upload japanese filenames, one file only download option added
Jun 21th, 2016: Version 3: create remote directory method added
Aug 11th, 2016: Version 3a: avoid DX execution failed error: build each extension separately
Oct 16th, 2016: Version 3b: bugfix use parameter UseFileTypeBinary for downloading files, too
Nov 9th, 2016: Version 4/4a: method RemoteFileNames added, missing permissions added
This extension enables you to upload or download files to/from your server via FTP - File Transfer Protocol.
Required permission: none
Probably you want to read this first: What is FTP?
This extension uses the Apache Commons Net 3.4 library. Thank you Apache Software Foundation!
Returns server address.
Specifies server address.
Returns user id.
Specifies user id.
Returns whether filetype binary should be used for upload/download, alternatively filetype ASCII will be used.
Specifies whether filetype binary should be used for upload/download, alternatively filetype ASCII will be used. Default is true.
Download one or all files from remote directory into local directory on SD card.
In case the local directory does not exist, it will be created. If the localDirectoryName starts with file:/// you can specify a complete path for example to download to the external SD card.
To download all files from a remote directory, use an empty string as remoteFileName.
Thank you Noguchi for being the sponsor of the one file only download option.
Upload file to remote directory.
Prefix the filename with / (i.e. relative path) to upload a file from the SD card. For instance /myFile.txt will upload the file /mnt/sdcard/myFile.txt. To upload assets packaged with an application does not make sense and has been disabled therefore. If a fileName starts with file:/// you can specify a complete path to the file.
Create remote directory.
Always begin the remote directory name with a forward slash to create a directory in the server's root directory.
Get filenames of remote directory.
Event indicating that a download has finished.
If Download was successful, the flag "successful" is true and the list of the downloaded files are provided in the response. In case of an error, flag "successful" is false and the error message is provided in the response.
Event indicating that an upload has finished.
If Upload was successful, the flag "successful" is true and the message "successfully uploaded" is provided in the response. In case of an error, flag "successful" is false and the error message is provided in the response.
Event indicating that creating a directory has finished.
If creating the directory was successful, the flag "successful" is true and the message "directory successfully created" is provided in the response. In case of an error, flag "successful" is false and the error message is provided in the response.
Event indicating that remote filenames haven been received.
Parameter successful indicates true (successful) or false.
Parameter response contains the list of available files or in case of an error the error message
Add your server address, user id and password to upload or download files to/from your server
to test the functionality of the FTP extension.
Q1: Can I download only one file from the remote folder? Because, I do not want to download all the files from the remote folder.
A: I now added that option in the Download method.
Q2: If I want to "Make directory in FTP" it is possible with this extension?
A: I now added a new method "create directory".
Q3: Is it possible to use this extension as FTP server?
A: No, your App Inventor app together with the FTP extension can be used only as client. For FTP server solutions, see these apps in Google Play.
Q4: I would like to know if there is any way to delete the files from my ftp server?
A: I just checked the library and as far as I can see, a delete method is unfortunately not available there.
I can help you: for one hour I charge 25 USD.
Please contact me at info [at] puravidaapps [dot] com for details!
For questions about App Inventor, please use the App Inventor forum. Thank you.
Your parameter will be stored in TinyDB to simplify your tests.
Download FTP test app (apk file)
You can buy this extension (aix file).
With your payment you accept the terms and conditions below.
Please transfer 10 USD via Paypal.
After having received your payment I will be happy to send the extension (aix file) to you.
Thank you! Taifun
Please check your spam folder in case you did not receive the extension!
I usually will send the extension not later than 24 hours after having received your payment.