我目前有一个功能,可以从远程 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')
));