私のアプリケーションでは、私はファイルをアップロードしているときに私が取得している最初のアップロードを取得しているローカルディレクトリからamazon S3バケットに画像をアップロードしようとしています。何を変えるべきか分かりません。ベンダーに変更や追加がありますか?助けてください。メソッドAws S3 S3Client :: putObject()が存在しません
コントローラー:Storage.php \
$s = new Storage();
$result = $s->upload($bucket,$keyname,$filepath);
モデル:
<?php
namespace app\models;
use Yii;
use yii\base\Model;
class Storage extends Model
{
private $aws;
private $s3;
function __construct() {
$this->aws = Yii::$app->awssdk->getAwsSdk();
$this->s3 = $this->aws->createS3();
}
public function upload($bucket,$keyname,$filepath) {
$result = $this->s3->putObject(array(
'Bucket' => $bucket,
'Key' => $keyname,
'SourceFile' => $filepath,
'ContentType' => 'text/plain',
'ACL' => 'public-read',
'StorageClass' => 'REDUCED_REDUNDANCY',
'Metadata' => array(
'param1' => 'value 1',
'param2' => 'value 2'
)
));
return $result;
}
エラーは以下の通りです:
An Error occurred while handling another error:
exception 'ReflectionException' with message 'Method Aws\S3\S3Client::putObject() does not exist' in D:\xampp\htdocs\teespring-testmailer\vendor\yiisoft\yii2\web\ErrorHandler.php:195
「putObject」ではなく「PutObject」を呼び出してみてください。 – SiZE
@SiZE同じエラーはありません – lalithkumar
あなたのベンダーとメソッドにこのクラス 'Aws \ S3 \ S3Client'がありますか?どのバージョンのライブラリを使用していますか? – SiZE