1.2.1 • Published 4 years ago
cordova-plugin-ftp v1.2.1
cordova-plugin-ftp
Description
This cordova plugin is created to use ftp (client) in web/js.
Support both iOS and Android platform now.
You can do the following things:
- List a directory
- Create a directory
- Delete a directory (must be empty)
- Delete a file
- Download a file (with percent info)
- Upload a file (with percent info)
- Cancel upload/download
- Set SSL/TLS connection (only Android supported)
- Judge is connected (only Android supported)
Installation
$ cordova plugin add cordova-plugin-ftp
$ cordova prepareDependency:
- For iOS, the plugin depends on CFNetwork.framework, which has been added to plugin.xml, and
cordova preparewill add it automatically to platform project. if not, add it by hand. - But for Android, it depends on com.android.support:support-v4:23.2.0, which should be added to your platform project by hand.
Usage
You can access this plugin by js object window.cordova.plugin.ftp or cordova.plugin.ftp.
Refer to test (include ftp4es6.js to show ES6 (ES2015) encapsulation) for usage example.
Refer to ftp.js for all available APIs and usages.
This plugin has been tested with:
- Cordova 10.0
- cordova-android 9.1.0
- cordova-ios 6.2.0
- Android 10.0 API 29 (built by Android Studio 4.1.1)
- iOS 14.5 (built by Xcode 12.5)
- Ftp server: vsftpd 3.0.3
Notice
- For iOS,
connectwill always succeed (even ifusernameandpasswordare incorrect), but it does NOT mean the later actions, e.g.ls...downloadwill succeed too! So always check theirerrorCallback. - Want to upload/download multiple files? The plugin (Android part) just inits one connection and transmits all files via it. If you use asychronous syntax (e.g.
foreach) to start multiple upload/download in a short time, it may mess the transfer. Instead, you can try Promise or async to transmit one after one. Refer to index.js for ES6 Promise example.
Thanks
- The iOS native implementing is based on GoldRaccoon.
- The Android native implementing is based on ftp4j jar (LGPL).
License
Apache License 2.0. Refer to LICENSE.md for more info.