我将一些图像上传到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
答案 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
}