luan/carrierwave-ftp

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# CarrierWave FTP storage

[![Build Status](https://travis-ci.org/luan/carrierwave-ftp.svg?branch=master)](https://travis-ci.org/luan/carrierwave-ftp)
[![Code Climate](https://codeclimate.com/github/luan/carrierwave-ftp/badges/gpa.svg)](https://codeclimate.com/github/luan/carrierwave-ftp)
[![Dependency Status](https://gemnasium.com/luan/carrierwave-ftp.png)](https://gemnasium.com/luan/carrierwave-ftp)

This gem adds support for FTP upload to [CarrierWave](https://github.com/jnicklas/carrierwave/)

## Installation

Install the latest release:

    gem install carrierwave-ftp

Require it in your code:

    require 'carrierwave/storage/ftp'

Or, in Rails you can add it to your Gemfile:

    gem 'carrierwave-ftp', :require => 'carrierwave/storage/ftp/all' # both FTP/SFTP
    gem 'carrierwave-ftp', :require => 'carrierwave/storage/ftp' # FTP only
    gem 'carrierwave-ftp', :require => 'carrierwave/storage/sftp' # SFTP only

## Getting Started (FTP)

First configure CarrierWave with your FTP credentials:

```ruby
CarrierWave.configure do |config|
  config.ftp_host = "ftp.example.com"
  config.ftp_port = 21
  config.ftp_user = "example"
  config.ftp_passwd = "secret"
  config.ftp_folder = "/public_html/uploads"
  config.ftp_url = "http://example.com/uploads"
  config.ftp_passive = false # false by default
  config.ftp_tls = false # false by default
end
```

And then in your uploader, set the storage to `:ftp`:

```ruby
class AvatarUploader < CarrierWave::Uploader::Base
  storage :ftp
end
```

## Getting Started (SFTP)

First configure CarrierWave with your SFTP credentials:

```ruby
CarrierWave.configure do |config|
  config.sftp_host = "example.com"
  config.sftp_user = "example"
  config.sftp_folder = "public_html/uploads"
  config.sftp_url = "http://example.com/uploads"
  config.sftp_options = {
    :password => "secret",
    :port     => 22
  }
end
```

And then in your uploader, set the storage to `:sftp`:

```ruby
class AvatarUploader < CarrierWave::Uploader::Base
  storage :sftp
end
```