title: Paperclip: The following errors were found: Image has contents that are not what they are reported to be
body: <p>I am using paperclip with a rails app and always I get the following error:</p>
  
  <pre><code>I, [2015-06-06T20:10:25.310071 #37358]  INFO -- : Command :: file -b --mime '/tmp/58e53d1324eef6265fdb97b08ed9aadf20150606-37358-ouvtzl.png'
  I, [2015-06-06T20:10:25.317478 #37358]  INFO -- : [paperclip] Content Type Spoof: Filename ruby.png (application/octet-stream from Headers, [#&lt;MIME::Type:0x000000053624c8 @friendly={"en"=&gt;"Portable Network Graphics (PNG)"}, @system=nil, @obsolete=false, @registered=true, @use_instead=nil, @signature=false, @content_type="image/png", @raw_media_type="image", @raw_sub_type="png", @simplified="image/png", @i18n_key="image.png", @media_type="image", @sub_type="png", @docs=[], @encoding="base64", @extensions=["png"], @references=["IANA", "[Glenn_Randers-Pehrson]", "{image/png=http://www.iana.org/assignments/media-types/image/png}"], @xrefs={"person"=&gt;["Glenn_Randers-Pehrson"], "template"=&gt;["image/png"]}&gt;] from Extension), content type discovered from file command: image/png. See documentation to allow this combination.
  I, [2015-06-06T20:10:25.349416 #37358]  INFO -- : Command :: file -b --mime '/tmp/58e53d1324eef6265fdb97b08ed9aadf20150606-37358-1n574dp.png'
  I, [2015-06-06T20:10:25.356667 #37358]  INFO -- : [paperclip] Content Type Spoof: Filename ruby.png (application/octet-stream from Headers, [#&lt;MIME::Type:0x000000053624c8 @friendly={"en"=&gt;"Portable Network Graphics (PNG)"}, @system=nil, @obsolete=false, @registered=true, @use_instead=nil, @signature=false, @content_type="image/png", @raw_media_type="image", @raw_sub_type="png", @simplified="image/png", @i18n_key="image.png", @media_type="image", @sub_type="png", @docs=[], @encoding="base64", @extensions=["png"], @references=["IANA", "[Glenn_Randers-Pehrson]", "{image/png=http://www.iana.org/assignments/media-types/image/png}"], @xrefs={"person"=&gt;["Glenn_Randers-Pehrson"], "template"=&gt;["image/png"]}&gt;] from Extension), content type discovered from file command: image/png. See documentation to allow this combination.
  
  Mongoid::Errors::Validations (
  Problem:
    Validation of Mock failed.
  Summary:
    The following errors were found: Image has contents that are not what they are reported to be
  Resolution:
    Try persisting the document with valid data or remove the validations.):
    app/api/mockaccino/api.rb:23:in `block (2 levels) in &lt;class:API&gt;'
  </code></pre>
  
  <p>Curl command for test:</p>
  
  <pre><code>curl -X POST -i -F image=@/home/user/workspace/ruby.png -F name=mock http://localhost:3000/api/mock
  </code></pre>
  
  <p>I am traying send an image and a parameter called "name" to the server and creating a model with this attribute and image.</p>
  
  <p>Model:</p>
  
  <pre><code>class Mock
    include Mongoid::Document
    include Mongoid::Paperclip
  
    field :name, type: String
  
    has_mongoid_attached_file :image
  
    validates_attachment_presence :image
    validates_attachment_size :image, :less_than =&gt; 1.megabytes
    validates_attachment_file_name :image, :matches =&gt; [/png\Z/, /jpe?g\Z/]
  end
  </code></pre>
  
  <p>Controller (Grape):</p>
  
  <pre><code>desc "Create an mock."
        params do
          requires :name, type: String, desc: "Mock name"
          requires :image, :type =&gt; Rack::Multipart::UploadedFile, :desc =&gt; "Image file."
        end 
        post do
          mock = Mock.create!(
            name: params[:name],
            image: ActionDispatch::Http::UploadedFile.new(params[:image])
          )
        end 
  </code></pre>