ftpconnect 2.0.7 copy "ftpconnect: ^2.0.7" to clipboard
ftpconnect: ^2.0.7 copied to clipboard

Simple and robust dart FTP Connect Library to interact with FTP Servers.

Flutter FTP Connect

Flutter simple and robust dart FTP Connect Library to interact with FTP Servers with possibility of zip and unzip files.

Key FeaturesExamplesLicense

Key Features #

  • Upload files to FTP
  • Download files/directories from FTP
  • List FTP directory contents
  • Manage FTP files (rename/delete)
  • Completely asynchronous functions

This Library is based on dart_ftpclient which not updated since few years.

Example upload file #

###example 1:

import 'dart:io';
import 'package:ftpconnect/ftpConnect.dart';

main() async{
    FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');
    File fileToUpload = File('fileToUpload.txt');
    await ftpConnect.connect();
    bool res = await ftpConnect.uploadFileWithRetry(fileToUpload, pRetryCount: 2);
    await ftpConnect.disconnect();
    print(res);
}

###example 2: step by step

import 'dart:io';
import 'package:ftpconnect/ftpConnect.dart';

main() async{
  FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');
 try {
      File fileToUpload = File('fileToUpload.txt');
      await ftpConnect.connect();
      await ftpConnect.uploadFile(fileToUpload);
      await ftpConnect.disconnect();
    } catch (e) {
      //error
    }
}

Download file #

###example 1:

import 'dart:io';
import 'package:ftpconnect/ftpConnect.dart';

main() async{
    FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');
    String fileName = 'toDownload.txt';
    await ftpConnect.connect();
    bool res = await ftpConnect.downloadFileWithRetry(fileName, File('myFileFromFTP.txt'));
    await ftpConnect.disconnect();
    print(res)
}

###example 2: step by step

import 'dart:io';
import 'package:ftpconnect/ftpConnect.dart';

main() {
  FTPConnect ftpConnect = FTPConnect('example.com',user:'user', pass:'pass');
 try {
      String fileName = 'toDownload.txt';
      await ftpConnect.connect();
      await ftpConnect.downloadFile(fileName, File('myFileFromFTP.txt'));
      await ftpConnect.disconnect();
    } catch (e) {
      //error
    }
}

Other Features #

###Directory functions:

//Get directory content
ftpConnect.listDirectoryContent();

//Create directory
ftpConnect.makeDirectory('newDir');

//Change directory
ftpConnect.changeDirectory('moveHereDir');

//get current directory
ftpConnect.currentDirectory();

//Delete directory
ftpConnect.deleteDirectory('dirToDelete');

//check for directory existance
ftpConnect.checkFolderExistence('dirToCheck');

//create a directory if it does not exist
ftpConnect.createFolderIfNotExist('dirToCreate');

###File functions:

//rename file
ftpConnect.rename('test1.txt', 'test2.txt');

//file size
ftpConnect.sizeFile('test1.txt');

//file existence
ftpConnect.existFile('test1.txt');

//delete file
ftpConnect.deleteFile('test2.zip');

Paramaters #

Properties Description
host Hostname or IP Address
port Port number (Defaults to 21)
user Username (Defaults to anonymous)
pass Password if not anonymous login
debug Enable Debug Logging
logger custom logger
securityType FTP/FTPES/FTPS default FTP
timeout Timeout in seconds to wait for responses (Defaults to 30)

#more details here

View more Examples #

Support #

If this plugin was useful to you, helped you to deliver your app, saved you a lot of time, or you just want to support the project, I would be very grateful if you buy me a cup of coffee.

Buy Me A Coffee

License #

MIT

128
likes
130
points
3.57k
downloads

Publisher

verified publishersalimdev.ovh

Weekly Downloads

Simple and robust dart FTP Connect Library to interact with FTP Servers.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

intl, path

More

Packages that depend on ftpconnect