Carrierwave: Verschiebe den Versionsnamen an das Ende des Dateinamens anstatt nach vorne

9

derzeit mit Carrierwave, nach dem Hochladen einer Datei wie foo.png beim Erstellen verschiedener Versionen wie:

%Vor%

führt dazu, dass die hochgeladenen Dateien wie folgt aussehen:

%Vor%

Ich möchte den Daumen aus SEO-Gründen an das Ende des Dateinamens verschieben. Basierend auf ihren Dokumenten habe ich hinzugefügt:

%Vor%

Die Dokumente sagen, dass dies zu folgendem führen sollte:

%Vor%

Aber am Ende bekomme ich tatsächlich folgendes:

%Vor%

Irgendeine Idee, was ich falsch mache?

Danke

    
AnApprentice 04.01.2017, 06:00
quelle

3 Antworten

2

Verwenden Sie einfach #full_filename unter dem version -Block:

%Vor%

Das Ergebnis wird folgen:

%Vor%
itsnikolay 08.01.2017, 16:02
quelle
0

Wenn Sie viele Versionen haben, kann die akzeptierte Antwort ein wenig langweilig werden.

Ich habe schließlich den vollständigen Dateinamen für alles außer in jeder einzelnen Versionsdefinition überschrieben. Es funktioniert gut. Dies ist für Carrierwave 1.0

photo_uploader.rb

%Vor%

Ich verwende die eingebauten Methoden File.basename und File.extname, anstatt sie manuell zu machen, wie in der angenommenen Antwort zu sehen ist (obwohl ich dort angefangen habe und dieser Code auch gut funktioniert).

Hinweis: Ich wollte dem nicht versionierten Upload "Original" hinzufügen, damit meine Verzeichnisliste sauberer aussieht. Dieser Teil könnte ziemlich leicht entfernt werden.

  

foo_mobile.jpg

     

foo_original.jpg

     

foo_square.jpg

    
JP Duffy 05.04.2017 21:10
quelle
-1

In der aktuellen Version von CarrierWave, wenn Sie einen Uploader wie folgt definiert haben:

%Vor%

und hängen Sie den Dateinamen somefile.jpg an, dann erhalten Sie die Dateien original.jpg, original_small.png bzw. original_icon.png.

    
Bharat soni 04.01.2017 06:04
quelle

Tags und Links