2015-08-06 8 views
7

Ich habe derzeit eine Funktion, die eine MP3-Datei von einer Remote-URL abruft und sie in einen Amazon S3-Bucket hochlädt.Keine HTTP-Antwort beim direkten Hochladen auf Amazon S3

Die Funktion scheint gut zu funktionieren, da die Datei in S3 angezeigt wird, aber ich habe Bedenken, dass die Seite beim Testen auf meinem lokalen Server mit einem Tunnel (ngrok) keinen HTTP-Status zurückgibt.

Es gibt 200 zurück, wenn ich die Datei zuerst lokal herunterladen und dann hochladen. Da wir es mit großen Audiodateien zu tun haben, versuche ich, die erste Idee effizienter zu gestalten (denke ich).

Gibt es eine Möglichkeit, die Seite einen HTTP-Statuscode zurückgeben und sollte ich besorgt sein, dass es derzeit nicht?

Hier ist der Code-Schnipsel ist die V2 Amazon SDK in PHP

$config = array('key' => AMAZON_S3_KEY,'secret' => AMAZON_S3_SECRET,'region' => 'us-west-2'); 

$s3 = Aws::factory($config)->get('s3')->registerStreamWrapper(); 
$s3->putObject(array(
    'Bucket' => 'mybucket', 
    'Key' => 'filename.mp3', 
    'ContentLength' => $size, 
    'Body' => fopen($url, 'r') 
)); 
+0

Können Sie mit clarify- - suchst du einen Antwortcode vom Upload der Datei auf s3? – BestPractices

+0

Wenn ich die Frage richtig verstehe, suche ich nach einem Antwortcode von der Seite, auf der der obige Code gehostet wird. Ich bin mir nicht sicher, ob dies ein Nebenprodukt des AWS SDK ist, das einen eigenen Statuscode zurückgibt. – thatguy

+0

Es ist immer noch nicht klar - auf welche Frage bitten Sie uns zu antworten? – BestPractices

Antwort

2

putObject von der offiziellen Dokumentation gibt ein Modellobjekt und wird nur senden Sie das richtige Modell Objekt, wenn putObject gelang

+0

Das Put-Objekt ist erfolgreich - wie im Artikel im s3-Bucket. – thatguy