Upload files to an FTP server's directory.

yaml
type: "io.kestra.plugin.fs.ftp.Uploads"
yaml
id: fs_ftp_uploads
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: uploads
    type: io.kestra.plugin.fs.ftp.Uploads
    host: localhost
    port: 21
    username: foo
    password: "{{ secret('FTP_PASSWORD') }}"
    from:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
    to: "/upload/dir2"
Properties

The files to upload, must be internal storage URIs, must be a list of URIs or a pebble template that returns a list of URIs

Hostname of the remote server

The destination directory

Default false

Enable the RSA/SHA1 algorithm (disabled by default)

Default { "connectionTimeout": "PT30S", "dataTimeout": "PT30S", "socketTimeout": "PT30S", "controlKeepAliveTimeout": "PT30S", "controlKeepAliveReplyTimeout": "PT30S" }
Default true

Whether to use a passive mode. Passive mode is generally considered more secure as it's less likely to encounter issues with NAT and firewalls. Therefore, this property is by default set to true. To use active mode instead, set the property to false.

Password on the remote server

Default 21

Port of the remote server

FTP proxy host

FTP proxy port

Possible Values
DIRECTHTTPSOCKS

FTP proxy type

Default true

Control that the server ip that emit the request is the same than send response.

Default true

Is the path relative to the users home directory

Username on the remote server

SubType string

The fully-qualified URIs that point to the uploaded files on remote

Default PT30S
Format duration

The timeout for the initial control connection.

Default PT30S
Format duration

The control keep alive reply timeout.

to ensure the socket be alive after download huge file.

Default PT30S
Format duration

the control keep alive timeout.

to ensure the socket be alive after download huge file.

Default PT30S
Format duration

The timeout for opening the data channel.

Default PT30S
Format duration

The socket timeout.