2017-04-14 4 views
2

, wenn ich eine Datei hochgeladen, wird meine Ansicht Seite die Datei zum Beispiel AnzeigenAnzeige Dateinamen ohne Erweiterung mit Carrierwave

‚thisfile.jpg‘

, wie ich .jpg und alle Dateierweiterung aus dem entfernen Sie angezeigter Dateiname. Ich habe versucht, zu den Uploader zu gehen und den Dateinamen der hochgeladenen Dateien überschreiben mit dem

# rumspielen:

def filename 
xxx 
end 

aber ich habe keine Ahnung, was im Inneren geben Sie die Erweiterung zu entfernen. Ich brauche keine Versionierung, ich möchte nur die Erweiterung der Dateinamenanzeige über alle Versionen entfernen.

dank

+0

Haben Sie versucht, zurückzukehren nur der Basisname der Datei aus der Dateiname-Methode im Uploader? – Anton

+0

Ich würde vorschlagen, mit Dateinamen Format in der Benutzeroberfläche und nicht der Carrierwave-Uploader umzugehen. – Anton

+0

meine ui ist td = „# {document.file_name}“ Ich habe versucht Wechsel document.basename aber das Display ist immer noch mit .jpg was muss ich sonst noch tun? – NYM

Antwort

1

In Ihrem picture_uploader.rb:

def filename 
    file = File.basename("#{original_filename}", ".*") 
    end 

".*": Dadurch werden Sie den Dateinamen geben, ohne die Erweiterung.

/path/to/your/file/originalname 

ohne die Erweiterung:

würde das Ergebnis sein.

Um Ihrer Ansicht nach sollte der Code aussehen originalname ohne den Dateipfad angezeigt:

<%= picture.filename_identifier %> 
0

# image.png --> "image"

def filename 
    basename = File.basename file.file, File.extname(file.file) 
end 
0

Es ist einfach:

def filename 
    basename = file.basename 
end 
Verwandte Themen