2015-07-23 10 views
5

La funzione del sito Web è di pubblicare un post sul blog. Funziona localmente su Windows 7. Ho provato su Paperclip gem (entrambe le versioni 4.2.4 e 4.3) e il server entra in un ciclo infinito in cmd (non succede in 4.2.4 ma ottiene comunque l'errore). Ho installato bundle ed è definitivamente installato.Gemma Paperclip - "L'immagine contiene contenuti che non sono quello che viene segnalato" Errore

Gemfile:

gem "paperclip", "~> 4.3" 

Ecco il modello :

class Post < ActiveRecord::Base 

    has_attached_file :image, :default_url => ":style/rails1.jpg" 
    validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/ 

end 

Questo è l'erroreottengo quando si cerca di inviare un'immagine (png o jpg):

L'immagine ha contenuti che non sono quello che sono portato per essere

Sono nuovo a questa spiegazione così dettagliata sarebbe apprezzata. Ho letto alcune altre correzioni qui ma non ha funzionato.

risposta

4

capito una soluzione temporanea:

aggiungere questo file

config/inizializzatori/paperclip_media_type_spoof_detector_override.rb

require 'paperclip/media_type_spoof_detector' 
module Paperclip 
    class MediaTypeSpoofDetector 
    def spoofed? 
     false 
    end 
    end 
end 
1

Quello non è il modo migliore. Ma in questo modo è un po 'più sicuro e meno patching scimmia ...
Basta aggiungere questo al modello:

do_not_validate_attachment_file_type :image 
+0

ciao! Sto anche avendo questo stesso problema dove metto questa linea? o_not_validate_attachment_file_type: immagine nel modello? – westman2222

+0

si nel modello. –

+0

Anche questo non funziona. Sembra davvero strano che paperclip controlli la convalida anche se abbiamo messo esplicitamente il codice 'non convalidare' lì. –

2

Il controllo disabilitazione parodia modo corretto è quello di utilizzare: validate_media_type: false nella definizione cioè attaccamento

has_attached_file :image, :default_url => ":style/rails1.jpg", validate_media_type: false 
Problemi correlati