Php 将图像上载到amazonS3发行的Froala
目前,我正在将froala集成到我在angualarJs和laravel的项目中。我需要上传图片到亚马逊3。但是我对amazoneS3路径有一些问题。这是我的密码 鉴于,Php 将图像上载到amazonS3发行的Froala,php,angularjs,froala,Php,Angularjs,Froala,目前,我正在将froala集成到我在angualarJs和laravel的项目中。我需要上传图片到亚马逊3。但是我对amazoneS3路径有一些问题。这是我的密码 鉴于, <textarea id="froala-sample-2" ng-init="article.description = article.description || ''" ng-model="article.description"></textarea> 我在这里创建签名和策略 public
<textarea id="froala-sample-2" ng-init="article.description = article.description || ''" ng-model="article.description"></textarea>
我在这里创建签名和策略
public function createSignature() {
// Set date timezone.
date_default_timezone_set('Europe/Bucharest');
$bucket = '-bucket-';
$region = '-region-';
$keyStart = '-keystart-';
$acl = '-acl-';
$accessKeyId = $_SERVER['AWS_ACCESS_KEY'];
$secret = $_SERVER['AWS_SECRET_ACCESS_KEY'];
$policy = base64_encode(
json_encode(
array(
'expiration' => date('Y-m-d\TH:i:s.000\Z', strtotime('+1 day')),
'conditions' => array(
array('bucket' => $bucket),
array('acl' => $acl),
array('success_action_status' => '201'),
array('x-requested-with' => 'xhr'),
array('starts-with', '$key', $keyStart),
array('starts-with', '$Content-Type', '') // accept all files
) )));
$aData['policy'] = $policy;
$aData['sign'] = base64_encode(hash_hmac('sha1', $policy, $secret, true));
$aData['bucket'] = $bucket;
$aData['region'] = $region
$aData['keystart'] = $keyStart;
$aData['acl'] = $acl;
$aData['key'] = $accessKeyId;
return json_encode($aData);}
上传图像时,我遇到以下问题:
选项网络::错误名称未解析。
谁能告诉我怎么解决这个问题?
提前感谢。确保正确填充imageUploadToS3对象:
imageUploadToS3: {
bucket: $scope.bucket,
region: $scope.region,
keyStart: $scope.keystart,
params: {
acl: $scope.acl,
AWSAccessKeyId: $scope.accessKey,
policy: $scope.policy,
signature: $scope.sign,
}
}
根据错误,我假设至少$scope.bucket和$scope.region未定义
您还可以查看Froala PHP SDK及其文档,SDK将为您上传Amazon S3文件
或者,您可以就如何创建签名进行启发:。这是关于如何使用它的文档
希望有帮助。这个问题解决了吗?我也有同样的问题,使用rails。
imageUploadToS3: {
bucket: $scope.bucket,
region: $scope.region,
keyStart: $scope.keystart,
params: {
acl: $scope.acl,
AWSAccessKeyId: $scope.accessKey,
policy: $scope.policy,
signature: $scope.sign,
}
}