No commit activity in last 3 years
No release in over 3 years
WebDAV support for CarrierWave
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

CarrierWave for WebDAV

Build Status Coverage Status

This gem adds support for WebDAV to CarrierWave

Installation

Install the latest release:

gem install carrierwave-webdav

Require it in your code:

require 'carrierwave/webdav'

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

gem 'carrierwave-webdav', :require => 'carrierwave/webdav'

Getting Started

Follow the "Getting Started" directions in the main Carrierwave repository.

Using WebDAV store

In Rails, add WebDAV settings to config/initializers/carrierwave.rb

CarrierWave.configure do |config|
  config.storage = :webdav
  config.webdav_server = 'https://your.webdav_server.com/dav' # Your WebDAV url.
  # config.webdav_write_server = 'https://secure.your.webdavserver.com/dav/' # This is an optional attribute. It can save on one server and read from another server. (Contributed by @eychu. Thanks)
  # config.webdav_autocreates_dirs = true # if automatic directory creation is enabled on the server (disables explicit directory creation)
  config.webdav_username = 'your webdav username'
  config.webdav_password = 'your webdav password'
end

In your uploader, set the storage to :webdav:

class AvatarUploader < CarrierWave::Uploader::Base
  storage :webdav
end

Since WebDAV doesn't make the files available via HTTP, you'll need to stream them yourself. In Rails for example, you could use the send_data method.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request