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

Php 上传到S3,如何判断传输是否成功?,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我正在上传一些图像到S3,我如何检查它是否成功传输 这是我的密码。我故意弄错了访问密钥,所以文件不会上载,我如何才能捕获此错误并对其采取行动 下面的代码没有捕获任何内容,即使图像无法上传 $this->commands[] = $this->s3->getCommand('PutObject', [ 'Bucket' => env('AWS_BUCKET'), 'Key' => $name, 'Body' =>

我正在上传一些图像到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

我也在使用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
}

您是否正在使用用于php的AWS SDk?是的,我是,正如前面提到的。但据我所知,v3.0非常有用,上传完成后会返回对象的URL。最好的方法可能是对照计算机上对象的校验和检查上传对象的MD5校验和。如果上传成功,这两个应该匹配。