我正在尝试使用签名URL进行图像处理,一旦我能够做到这一点。但后来,我删除了它,并试图再次这样做,我无法做到这一点。
这是我到目前为止所做的:
然后在我的laravel代码中,我在控制器中有以下内容:
$keyPairId = 'XXXXXXXXXXXXXXXXXXXX';
$privateKey = config_path('pk-XXXXXXXXXXXXXXXXXXXX.pem');
$url = "http://xxxxxxxxxxxxxx.cloudfront.net/image.jpg";
$cf = new UrlSigner($keyPairId, $privateKey);
$imgSrc = $cf->getSignedUrl($url, time());
echo "<img src='{$imgSrc}' />";
但每次我都收到同样的错误:
<Error>
<Code>MissingKey</Code>
<Message>Missing Key-Pair-Id query parameter or cookie value</Message>
</Error>
需要帮助。
答案 0 :(得分:1)
您必须使用CloudFront特定密钥对并将其添加到$cf
。有关如何下载或上传自己的公钥的更多信息:
http://docs.aws.amazon.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#KeyPairs
答案 1 :(得分:1)
很抱歉,我无法发表评论(代表不够),但是您可以记录之后签名的网址是什么吗?