【发布时间】:2011-08-19 08:14:43
【问题描述】:
我有一个 Amazon S3 帐户,我想在其中存储多个文件目录。
我希望该网站的访问者能够查看和下载我放置在那里的文件和文件夹。
这些文件和文件夹会定期更改,我不希望每次添加或删除文件时都重写任何 html。
如何安排我网站的查看者看到一个简单的文件/文件夹列表?
【问题讨论】:
标签: file amazon-s3 amazon listings
我有一个 Amazon S3 帐户,我想在其中存储多个文件目录。
我希望该网站的访问者能够查看和下载我放置在那里的文件和文件夹。
这些文件和文件夹会定期更改,我不希望每次添加或删除文件时都重写任何 html。
如何安排我网站的查看者看到一个简单的文件/文件夹列表?
【问题讨论】:
标签: file amazon-s3 amazon listings
您可以使用 Javascript 列出文件。
这是亚马逊提供的解决方案:
http://aws.amazon.com/code/Amazon-S3/1713
您将 list.html 放在要列出的每个目录中。
我已经制作了自己的列表文件,它提供了一个可折叠的树视图:
https://github.com/phatmann/jS3Tree/blob/master/index.html
如果您使用的是 S3 网站功能,这些文件都不起作用。
【讨论】:
我创建了一个简单的 JS,它创建了一个 HTML 样式的目录索引,可以满足您的需求:https://github.com/rgrp/s3-bucket-listing
您可以将它直接安装到您的 s3 存储桶或单独的网站中(感谢 S3 REST API 支持 CORS!)。自述文件对此有完整说明:https://github.com/rgrp/s3-bucket-listing
【讨论】:
您应该使用Amazon S3 API 列出其中的存储桶和文件
一个桶可以代表一个文件夹(比在文件名上使用前缀更容易)
在创建您的存储桶并将文件上传到它们之后
您可以通过List All My Buckets 请求在页面上显示存储桶
一旦用户单击给定的存储桶,您就可以使用List Bucket 请求
最后一次单击文件以生成对象的 url,以便用户可以在不浪费带宽的情况下下载它
您可以找到许多亚马逊 s3 api here 的实现
【讨论】: