直接流式上传到Amazon S3时没有HTTP响应

7
我目前有一个功能,可以从远程 URL 获取 MP3 文件,并将其上传到 Amazon S3 存储桶。这个功能似乎很正常,因为文件出现在了 S3 中,但是我担心在使用隧道(ngrok)在本地服务器上进行测试时,该页面似乎没有返回任何 HTTP 状态。如果我先在本地下载文件,然后再上传,它确实会返回 200。由于我们处理大型音频文件,我正在尝试使第一种方法更有效(我认为)。是否有一种方法可以使页面返回 HTTP 状态码?现在没有返回值,我应该担心吗?以下是使用 PHP 中 V2 的 Amazon SDK 的代码片段。
$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')
));

你能澄清一下吗——你是想从将文件上传到S3中获取响应代码吗? - BestPractices
如果我理解问题正确的话,我正在寻找来自托管上述代码的页面的响应代码。我不确定这是否是AWS SDK返回其自己状态代码的副产品。 - thatguy
仍然不清楚——你要我们回答什么问题? - BestPractices
我没有看到您将putObject响应存储在任何变量中。您能否请提供更新后的代码,以便我们不会被可能的编码错误分心。 - user3334059
1个回答

2

putObject 是官方文档中的一个方法,会返回一个模型对象。只有当 putObject 方法执行成功时,才会返回正确的模型对象。


上传对象成功 - 就是该项已经在S3存储桶中。 - thatguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接