Est-il possible de déplacer les fichiers temporaires (/tmp/stream*
) générés par paperclip vers un autre emplacement comme /railsapp/public/tmp
sans modifier tmpfiles pour l'ensemble de l'environnement de l'application? Je voudrais afficher un aperçu du fichier téléchargé si la validation échoue sur le modèle.Modifier l'emplacement des fichiers papermpip tmp
Répondre
Préserver les téléchargements en Paperclip est un tracas. Cependant j'ai fini par utiliser ce module: http://ryantownsend.co.uk/articles/storing-paperclip-file-uploads-when-validation-fails.html avec https://github.com/formasfunction/remotipart
Maintenant, vous pouvez faire des ajouts de fichiers Ajax et préserver/prévisualiser l'image si quelque chose échoue.
Ce n'est pas un paramètre Paperclip. Il utilise simplement le serveur web de fichier obtenu de l'utilisateur.
Vous devez définir ceci au niveau du serveur Web. Si vous utilisez Apache et des passagers que vous souhaiterez probablement ce paramètre:
http://www.modrails.com/documentation/Users%20guide.html#_passengertempdir_lt_directory_gt
J'utilise nginx et thin .. hmmm Je ne veux pas exposer l'ensemble temp dir au monde. Je suppose que je pourrais relier les fichiers tmp paperclip à un répertoire dans le dossier public. (before_save) C'est un peu étrange que cela ne puisse pas être changé pour paperclip avec une option ou un paramètre. :/ – atmorell
atmorell, les fichiers dans le répertoire tmp sont, comme son nom l'indique :), temporaires. Le serveur Web les obtient de l'utilisateur et les met dans tmp, où Rails/Paperclip peuvent les obtenir. Une fois que vous les avez, ils doivent être déplacés quelque part - et Paperclip le fait automatiquement. Comme Vlad l'a souligné: Paperclip ne crée pas de fichiers/tmp/stream *. Je ne sais plus exactement ce que vous voulez faire et pourquoi. –
Supposons qu'un utilisateur soumette un formulaire et que la validation échoue. Le formulaire est préchargé avec les données du formulaire de publication. Le champ d'entrée/fichier est cependant vide. Ce que j'essaie de faire est de donner à l'utilisateur un aperçu du fichier téléchargé. La raison pour laquelle je demandais sur le déplacement des fichiers tmp paperclip, est parce que je ne sais pas s'il y a quelque chose dans le répertoire tmp rais qui pourrait être un risque de sécurité si déplacer le rail tmp dir vers app/public/tmp – atmorell
- 1. asp.net générer des fichiers .tmp
- 2. SVN ou SCP créant des fichiers .tmp
- 3. fichiers Subversion étranges dans/tmp
- 4. Modifier l'encodage des fichiers récursivement sur Windows?
- 5. Comment modifier directement des fichiers HTML?
- 6. tempnam retombant à/tmp
- 7. télécharger le dossier tmp
- 8. Où créer des fichiers temporaires lorsque l'accès à/tmp/est refusé?
- 9. Modifier plusieurs fichiers HTML
- 10. Autorisation refusée - /tmp/.ruby_inline/Inline_ImageScience_cdab.c
- 11. php: obtenir la taille tmp
- 12. Ouverture de fichiers à modifier
- 13. Impossible d'utiliser ETD pour modifier des fichiers rapides
- 14. Modifier l'ordre des fichiers dans un répertoire Windows en C
- 15. Pouvez-vous utiliser Ant pour créer/modifier des fichiers XML?
- 16. Travailler avec des fichiers
- 17. Affichage d'une image du répertoire tmp
- 18. Expression régulière: correspond à tout sauf * .TMP
- 19. Stockage iPhone dans le répertoire tmp
- 20. Lors du transfert de fichiers, Coldfusion renvoie: C: \ ColdFusion8 \ runtime \ servers \ coldfusion \ SERVER-INF \ temp \ wwwroot-tmp \ neotmp12429.tmp ne contenait pas de fichier
- 21. /tmp/problème du répertoire du cache
- 22. iPhone SDK Obtenir le répertoire tmp
- 23. Mootools1.1 qu'est ce qu'un élément. $ Tmp?
- 24. Ignorer le dossier tmp dans Subversion
- 25. Gestion de l'application iPhone sandbox tmp taille de répertoire pour la mise en cache des images
- 26. Python - RegExp - Modifier les fichiers texte
- 27. Modifier les fichiers source avec Maven archétype
- 28. Comment modifier les fichiers programme en Python?
- 29. Modifier les fichiers avec le modèle
- 30. Modifier clé sous dans les fichiers * plist
Les fichiers de flux sont la «cuisine interne» du serveur Web, comme Slobodan l'a montré dans sa réponse. Vous ne devriez pas l'exposer directement à vos utilisateurs. Plus, une fois la demande terminée, le serveur web peut les supprimer, donc vous ne pouvez pas compter sur la requête suivante (en essayant d'afficher l'image), ils seront toujours là. –
Je veux seulement lier au fichier stream * si le formulaire a échoué à la validation. Lorsque les erreurs de validation ont été corrigées par l'utilisateur et le modèle sauvegardé - je n'en ai plus besoin. – atmorell