This gem adds support for FTP upload to CarrierWave
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
First configure CarrierWave with your FTP credentials:
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
end
And then in your uploader, set the storage to :ftp
:
class AvatarUploader < CarrierWave::Uploader::Base
storage :ftp
end
First configure CarrierWave with your SFTP credentials:
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
:
class AvatarUploader < CarrierWave::Uploader::Base
storage :sftp
end