Datei mit CarrierWave ohne Modell nach S3 hochladen, ist das möglich?

8

CarrierWave hat erstaunliche Dokumentation, bis Sie es ohne ein Modell tun müssen!

Ich habe meine Uploader- und Nebeleinstellungen eingerichtet, und alle funktionieren einwandfrei, wenn Sie den geladenen Uploader auf einem Modell verwenden, aber jetzt möchte ich es ohne Modell machen.

Ich habe das:

%Vor%

Wenn ich .store anrufe! Der Code läuft sofort, was seltsam ist, da es einige Sekunden dauern sollte, um die Datei hochzuladen?

Dann, nachdem ich .retrieve_from_store aufgerufen habe! Das Uploader-Objekt hat alle korrekten S3-Informationen, wie die vollständigen URLs und so.

Rufen Sie jedoch an:

%Vor%

gibt false zurück. Und das Durchsuchen der URLs s3 gibt einen Schlüssel nicht gefunden Fehler von S3 zurück.

Also, was mache ich falsch? Um es noch einmal zu sagen, es funktioniert, wenn es montiert wird, also glaube ich nicht, dass es meine Nebeleinstellungen sind.

Mein Uploader:

%Vor%     
andy 19.11.2013, 10:10
quelle

1 Antwort

13

Ich denke du willst File.open anstatt File.read . Letzteres liefert eine rohe Zeichenkette, von der CarrierWave nicht weiß, wie store ist.

%Vor%

Dies könnte wahrscheinlich in den Dokumenten klarer sein, aber ich habe es bestätigt, indem ich die Spezifikationen . Bummer, dass CarrierWave hier stillschweigend versagt.

    
Taavo 19.11.2013, 15:27
quelle