Ich bin neu in RoR.Rails download Objekte aus Amazon Eimer s3 aws-sdk
Ich erstelle eine kleine App, die mp3-Objekte aus einem s3-Bucket hochlädt, löscht und herunterlädt. (mit AWS-SDK Gem).
Ich kann nicht den richtigen Download-Controller erstellen. Meine App lädt eine Textdatei namens download mit der Objektreferenz von s3 (Aws :: S3 :: Object: 0x007feb59782368) herunter.
Alle Hilfe wird geschätzt!
Dies ist mein Code:
Controller>
def download
bucket = S3.bucket(S3_BUCKET.name)
obj = bucket.object(params[:song])
byebug
send_data obj
end
Ansicht>
<%= link_to "download", "songs/download/?song=" + song.name %>
Und die Antwort von byebug:
(byebug) send_data obj
Rendering text template
Rendered text template (0.0ms)
Sent data (2.2ms)
"#<Aws::S3::Object:0x007fc3b1323c60>"
(byebug)
haben Sie versucht, das Objekt auszulesen? https://aws.amazon.com/blogs/developer/downloading-objects-from-amazon-s3-using-the-aws-sdk-for-ruby/ – engineersmnky
Ich habe diesen Link unzählige Male heute Morgen überprüft und ich kann Lass meinen Controller nicht arbeiten ... .read funktioniert nicht. – catch22
haben Sie versucht, das Objekt in eine temporäre Datei zu schreiben und dann send_file zu verwenden? Ich habe festgestellt, dass dies sehr effektiv ist. und was meinst du liest nicht funktioniert? – engineersmnky