Hi,
I am using Carrierwave in my Rails 3.x app along with Fog to store
images on S3.  I am trying to prevent uploading of duplicate images.  I
am a novice programmer and would appreciate any suggestions.

This is my approach:

1. Upload file using carrierwave.
class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick
   storage :fog
   include CarrierWave::MimeTypes
   process :set_content_type
   def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
   end

2. In picture model:
 require 'digest/sha1'
 before_validation :update_sha_1_hash
 private
  def update_sha_1_hash
    self.sha_1_hash = Digest::SHA1.hexdigest(self.image)
  end

 3.Check If the hash identifier in #2 is a duplicate of an existing
upload
validates_uniqueness_of :sha_1_hash

Here's the error: can't convert ImageUploader into String
I am not sure how to direct SHA1 to the actual image file before it is
uploaded..

Thanks,
Dave

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/76e4554c4b97466b0bf44ea6cb6af25b%40ruby-forum.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to