上传到S3,如何判断是否传输成功?

pan*_*hro 7 php amazon-s3 amazon-web-services

我正在将一些图像上传到 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)
}
Run Code Online (Sandbox Code Playgroud)

我使用 php sdk 3.0

Cha*_*hur 6

我还使用 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
}
Run Code Online (Sandbox Code Playgroud)