上传到S3,如何判断它是否成功转移?

时间:2015-07-21 11:22:07

标签: php amazon-web-services amazon-s3

我将一些图像上传到S3,如何检查是否成功转移?

这是我的代码。我故意搞砸了访问密钥,所以文件没有上传,我怎么能抓住这个错误并采取行动呢?

下面的代码没有捕获任何内容,即使图像无法上传。

$this->commands[] = $this->s3->getCommand('PutObject', [
        'Bucket' => env('AWS_BUCKET'),
        'Key' => $name,
        'Body' => $img,
        'ContentType' => $mime,
        'ACL' => 'public-read'
    ]);

$pool = new CommandPool($this->s3, $this->commands);

$promise = $pool->promise();

try {
    $result = $promise->wait();
}
catch (AwsException $e) {
    var_dump($e)
}

我正在使用php sdk 3.0

1 个答案:

答案 0 :(得分:1)

我还使用了PHP SDK 3.0,并能够使用以下命令获取上传结果:

$result = $s3Client->putObject(array(
    'Bucket' => $bucketName,
    'Key'    => $backupFileName,
    'SourceFile' => $backupFile,
));

$code = $result['@metadata']['statusCode'];
$uri = $result['@metadata']['effectiveUri'];

if ($code === 200) {
    // Success code here
}