Amazon s3 如何创建对象';亚马逊3中的下载链接?

Amazon s3 如何创建对象';亚马逊3中的下载链接?,amazon-s3,amazon-web-services,amazon,Amazon S3,Amazon Web Services,Amazon,我在项目开发中使用以下第三方API 我用这个API完成了上传、删除、桶列表、对象列表等所有任务, 但创建一个bucket的对象下载链接的主要任务之一是模糊的 亚马逊官方API有: get\u object\u url($bucket、$filename、$preauth、$opt) 获取任何对象的URL,但使用上述API缺少方法和文档 当我点击下载链接时,它显示以下代码错误: 代码 <h1>All uploaded files</h1> <?php //

我在项目开发中使用以下第三方API

我用这个API完成了上传、删除、桶列表、对象列表等所有任务, 但创建一个bucket的对象下载链接的主要任务之一是模糊的

亚马逊官方API有:
get\u object\u url($bucket、$filename、$preauth、$opt)

获取任何对象的URL,但使用上述API缺少方法和文档

当我点击下载链接时,它显示以下代码错误:

代码

<h1>All uploaded files</h1>
<?php
    // Get the contents of our bucket
    $contents = $s3->getBucket("mybucket");
    foreach ($contents as $file){

        $fname = $file['name'];
        $furl = "http://mybucket.s3.amazonaws.com/".$fname;

        //output a link to the file
        echo "<a href=\"$furl\">$fname</a><br />";
    }
?>

如果有人对此API有任何想法或经验,请向我推荐。谢谢

所有文件是否都具有所有用户读取权限(公共访问)

如果您想在没有经过身份验证的情况下访问该文件,则必须授予该文件的读取权限。否则,您还可以创建签名url。

因此您使用的是:S3类,并希望从bucket创建对象的下载链接

你应该试试这个:

$s3 = new S3($aws_access_key, $aws_secret_key);

$url = $s3->getAuthenticatedURL($aws_bucket_name, $file_name, 3600));

echo "<a href='$url' target='_blank'>Download</a>";
$s3=新的s3($aws\u访问密钥,$aws\u保密密钥);
$url=$s3->getAuthenticatedURL($aws_bucket_name,$file_name,3600));
回声“;

此下载链接将在1小时(3600秒)后过期,您可以通过最后一个参数延长过期时间以增加它。

Yep
Grante:Frank Open/download:Yes查看权限:Yes编辑权限:Yes
我已更新我的S3类-
链接:http://amazon-s3-php-class.googlecode.com/files/s3-php5-curl_0.4.0.tar.gz
$s3 = new S3($aws_access_key, $aws_secret_key);

$url = $s3->getAuthenticatedURL($aws_bucket_name, $file_name, 3600));

echo "<a href='$url' target='_blank'>Download</a>";