为什么在使用 aws-sdk-php 上传文件时拒绝访问?
why Getting Acces Denied while uploading file using aws-sdk-php?
我在这里不知何故迷路了,我是 aws 的新手,所以我在我的项目中安装了 aws-sdk-php,我正在尝试测试上传;这是脚本的一段代码:
require '.vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
// Instantiate an S3 client
$s3 = S3Client::factory(array(
'credentials' => array(
'key' => 'key ... ',
'secret' => 'secret key ... ',
)
));
$file_name = $_FILES['file']['tmp_name'];
try {
$s3->putObject(array(
'Bucket' => 'bucket_name',
'Key' => $_FILES['file']['name'],
'Body' => fopen($file_name, 'r'),
'ACL' => 'public-read',
));
echo " upload succed !!";
} catch (S3Exception $e) {
echo "There was an error uploading the file.\n";
echo $e->getMessage() . "\n";
}
此代码在本地测试中运行良好,但是当尝试在 s3 中的文件夹中的项目中测试相同的脚本时;我收到此错误:
There was an error uploading the file. Access Denied
有什么想法吗?
谢谢。
尝试创建实例:
$s3 = S3Client::factory(array(
'key' => 'key',
'secret' => 'secret',
'region' => 'eu-west-1'
));
使用您所在的地区
问题是 public ip 的限制。
但是,脚本干净且正确。
谢谢。
我在这里不知何故迷路了,我是 aws 的新手,所以我在我的项目中安装了 aws-sdk-php,我正在尝试测试上传;这是脚本的一段代码:
require '.vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
// Instantiate an S3 client
$s3 = S3Client::factory(array(
'credentials' => array(
'key' => 'key ... ',
'secret' => 'secret key ... ',
)
));
$file_name = $_FILES['file']['tmp_name'];
try {
$s3->putObject(array(
'Bucket' => 'bucket_name',
'Key' => $_FILES['file']['name'],
'Body' => fopen($file_name, 'r'),
'ACL' => 'public-read',
));
echo " upload succed !!";
} catch (S3Exception $e) {
echo "There was an error uploading the file.\n";
echo $e->getMessage() . "\n";
}
此代码在本地测试中运行良好,但是当尝试在 s3 中的文件夹中的项目中测试相同的脚本时;我收到此错误:
There was an error uploading the file. Access Denied
有什么想法吗? 谢谢。
尝试创建实例:
$s3 = S3Client::factory(array(
'key' => 'key',
'secret' => 'secret',
'region' => 'eu-west-1'
));
使用您所在的地区
问题是 public ip 的限制。 但是,脚本干净且正确。 谢谢。