rails - Trombone nom de fichier
à l'aide de rails avec un Trombone, je peux utiliser ce qui suit pour obtenir le nom de fichier lors d'une before_create:
extension = Fichier.extname(photo_file_name).downcase
Comment puis-je obtenir JUSTE le nom du fichier.. maintenant j'ai photo_file_name qui fournit la totalité du fichier, titlename.pdf
j'ai juste besoin d'titlename sans le .pdf
Grâce
Mise à jour avec le code:
photo.rb:
before_create :obfuscate_file_name
#Paperclip for photo
has_attached_file :photo,
......
private
def obfuscate_file_name
extension = File.extname(photo_file_name).downcase
fileNameOnly = File.basename(photo_file_name).downcase
self.photo.instance_write(:file_name, "#{fileNameOnly}_#{ActiveSupport::SecureRandom.hex(32)}#{extension}")
end
OriginalL'auteur AnApprentice | 2010-11-29
Vous devez vous connecter pour publier un commentaire.
Utilisation
Fichier.basename
avec l'optionsuffix
argument comme ceci:Fonctionne sur ma machine:
Qu'il a fait. Merci Jacob.
Vous êtes les bienvenus! 🙂
Stackoverflow vous fait attendre 6 minutes.
OriginalL'auteur Jacob Relkin
Trombone attachement a 'original_filename' méthode pour cela.
a_file
, pasa_file.pdf
?Semble que le titre de cette question est peut-être pas assez précis. Des gens viennent ici de la recherche pour "trombone nom de fichier", et de trouver cette réponse qui est la bonne réponse à cette question, de sorte qu'ils upvote, même si ce n'est pas ce que l'OP de cette question posée.
OriginalL'auteur user3056122
OriginalL'auteur rusllonrails
Une autre option est définie par défaut, le travail pour tous les télécharger.
Cet exemple changer le nom du fichier à 'nom par défaut" pour le web, exemple:
test áé.jpg
àtest_ae_www.foo.com.jpg
helper/application_helper.rb
Créer config/initializers/paperclip_defaults.rb
Besoin de redémarrer, après avoir mis ce code
J'espère que ça aide! 😉
OriginalL'auteur Adriano Resende