如何为 Amazon S3 存储桶的对象创建下载链接? [英] How to create download link for an Amazon S3 bucket's object?
问题描述
我正在使用 S3 PHP Class 学习 Amazon S3.我已将所有文件上传到 S3 存储桶,现在我想为存储桶中的每个可用文件创建链接.
I am learning Amazon S3 using S3 PHP Class. I have uploaded my all files to my S3 bucket, now I want to create links for each available file in my bucket.
以下功能对我有用吗?
public static function getAuthenticatedURL($bucket, $uri, $lifetime, $hostBucket = false, $https = false)
{
}
$s3 = new S3('access-key', 'secret-key');
$s3->getAuthenticatedURL($bucket, $uri, $lifetime, $hostBucket = false, $https = false);
或其他类似 get_object_url
的函数,但 get_object_url()
不在我的 S3 类中.
Or another function like get_object_url
, but get_object_url()
not in my S3 class.
我正在使用 Undesigned 的 Amazon S3 PHP 类.
推荐答案
如果你想让公众访问bucket,就这么简单
If you want the public to access the bucket, it is as simple as
http://[YourBucketName].s3.amazonaws.com/[YourFileName]
http://[YourBucketName].s3.amazonaws.com/[YourFileName]
只要您正确设置权限.
如果您担心下载滥用,您需要一个经过身份验证的 URL(我猜您希望从您的代码示例中获得).在这种情况下,我建议您使用 Amazon SDK:http://aws.amazon.com/sdkforphp/ 因为它包含您需要的示例.
If you're worried about download abuse, you'll want an authenticated URL (which I guess you want from your code sammple). In which case, I suggest you use the Amazon SDK: http://aws.amazon.com/sdkforphp/ as it contains examples of what you need.
$s3->getObjectUrl($bucket, $filename, '5 minutes');
文档:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getObjectUrl
这篇关于如何为 Amazon S3 存储桶的对象创建下载链接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!