8
votes

Comment désactiver le post-traitement des fichiers PDF dans PaperClip?

PaperClip Par défaut Essayez de traiter chaque fichier image pour générer des vignettes. Mais il essaie également de le faire avec des fichiers PDF, qui peuvent être une tâche fastidieuse vraiment. J'ai essayé de regarder sur Google et j'ai trouvé une solution, mais cela change des méthodes de papier.

Comment désactiver PDF PostProcessing en PaperClip sans changement de pompeClip Sources?


0 commentaires

3 Réponses :


2
votes

Une solution consiste à utiliser avant_post_process rappel: xxx

data_content_type doit être remplacé vers le champ correspondant de votre modèle.

Une autre solution que j'ai proposée est de créer un processeur personnalisé pour des images dans lesquelles nous devrions vérifier le type de fichier et s'il n'est pas PDF Exécuter le processeur standard PaperClip :: Thumbnail < / p>


0 commentaires

16
votes

de mon application de production actuelle, similaire à ci-dessus, mais cherche explicitement des images (dans ce cas, mon uploader accepte à peu près tout type de fichier, donc je ne traite que des images et ignorez toutes les autres):

before_post_process :is_image?

def is_image?
  ["image/jpeg", "image/pjpeg", "image/png", "image/x-png", "image/gif"].include?(self.asset_content_type) 
end


0 commentaires

0
votes

Vous pouvez le résoudre avec une seule ligne:

before_post_process { avatar_content_type.match? %r{\Aimage\/.*\z} }


0 commentaires