Wie kann ich carrierwave veranlassen, die Originaldatei nicht zu speichern, nachdem die Versionen verarbeitet wurden?

7

Ich verwende CarrierWave für meine Datei-Uploads in Rails 3.1, und ich suche nach einer Möglichkeit, Serverplatz zu sparen. Viele der hochgeladenen Fotos haben eine Größe von mehr als 20 MB. Nachdem ich sie auf 1024 x 1024 heruntergearbeitet habe, möchte ich das Original entfernen. Gibt es eine einfache Möglichkeit, dies in der Uploader-Klasse zu tun?

Danke, --Markieren

    
Mark 20.12.2011, 17:27
quelle

5 Antworten

3

Sie könnten in Ihrem Modell einen after_save Callback definieren und das Foto löschen.

Ich kenne Ihr Modell nicht, aber so etwas funktioniert möglicherweise, wenn Sie es anpassen:

%Vor%     
Lichtamberg 20.12.2011, 22:58
quelle
22

Ich hatte zwei Versionen und erkannte, dass ich das Original nicht brauchte

Also statt

%Vor%

Ich entfernte: normal und fügte dies hinzu

%Vor%

Jetzt wird das Original in der Größe gespeichert, die ich brauche, und ich habe kein drittes unbenutztes Bild auf dem Server

    
Jepzen 04.04.2012 15:31
quelle
7

alle! Ausgewählte Lösung funktioniert nicht für mich. Meine Lösung:

%Vor%     
izumeroot 05.09.2013 05:19
quelle
1
%Vor%     
Kleber S. 06.03.2012 10:14
quelle
0

Es ist ein bisschen hack aber hat einen Leistungsvorteil

%Vor%     
yujingz 03.12.2013 21:59
quelle