Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用javascript显示AmazonS3存储桶中的图像_Javascript_Ajax_Amazon S3 - Fatal编程技术网

仅使用javascript显示AmazonS3存储桶中的图像

仅使用javascript显示AmazonS3存储桶中的图像,javascript,ajax,amazon-s3,Javascript,Ajax,Amazon S3,假设:在AmazonS3存储桶中,我有数千张图片放在不同的文件夹中。我想让未标记的用户可以通过幻灯片方式访问它们,但我不想处理数据库和服务器性能差的问题(如果同时有太多用户),所以我只想使用javascript 但问题是,我应该向客户端提供文件列表,因为当您尝试浏览bucket时,我不能使用XMLHttpRequest获取和解析Amazon提供的xml文件,因为(我希望)浏览页面应该位于我的Web服务器上。 我认为我应该编写一些服务器端代码,以便在每次上传/修改后创建一个更新的文件列表与用户共享

假设:在AmazonS3存储桶中,我有数千张图片放在不同的文件夹中。我想让未标记的用户可以通过幻灯片方式访问它们,但我不想处理数据库和服务器性能差的问题(如果同时有太多用户),所以我只想使用javascript

但问题是,我应该向客户端提供文件列表,因为当您尝试浏览bucket时,我不能使用XMLHttpRequest获取和解析Amazon提供的xml文件,因为(我希望)浏览页面应该位于我的Web服务器上。 我认为我应该编写一些服务器端代码,以便在每次上传/修改后创建一个更新的文件列表与用户共享,但我不确定这是否是一个好主意

有人能给我建议最好的方法吗?
新年快乐

有一个方法bucket.list(),它将列出bucket的内容

可能的答案,告诉我你的想法: Amazon提供ListBucket操作

我可以使用max keys和marker(用于分页)参数(例如:)选择一次获得多少个结果。 例如,我将获得一个xml文件(如我所需),我可以用js在“list.html”文件中本地解析该文件。 然后,我可以在Web服务器上slideshow.html文件中包含的iframe中包含这个list.html文件(它应该只打印图像数组的定义)


太脏?

您是否控制文件名和文件夹名?如果是这样,您可以让脚本探测有多少图像(即检查012/99.jpg是否存在等),以避免有文件列表。这是我的第一选择(是的,我可以选择我喜欢的文件名),我仍然非常喜欢它,但我希望总是先显示最后修改的文件,我不能加载所有文件数据,因为它们太多,速度会很慢。我想选择连续的数字作为文件名,但是如果修改/删除文件(最后一次修改应始终是幻灯片中的第一次),这可能是解决方案,但我想先得到一个包含最新(和最后一次修改)文件的有序列表,它不应该提供整个列表,因为它可能非常大。我必须考虑如何通过“prefix”参数来选择文件名,我看不到一种方法可以通过SOAP API调用对结果进行排序。所以它似乎仍然不能满足您的需要。从我的测试来看,xml似乎是按上次修改排序的,即使我没有找到明确的指示。如果是这样的话,那么我会说这是您的最佳选择,因为我不喜欢SOAP。最终我将使用REST API GET创建list.html文件,不过,谢谢。