4

我最近更改了作业文件夹中文件的命名约定。由于我需要在用户试图下载特定文件时支持新的命名约定和旧的命名约定,因此我需要检查新命名标准URL是否存在,如果不存在,请从旧命名标准URL下载。使用浏览器JavaScript SDK检查文件是否存在于AWS S3上?

有没有办法'ping'一个S3 URL来查看一个有效的文件是否存储在URL?由于跨域问题,标准AJAX调用不起作用。

我正在检查的文件是二进制文件。

回答

1

您可以看看AWS JavaScript SDK中的headObject()方法,但如果该文件是可公开访问的,则简单的HEAD请求(使用ajax)也可以。

您可以通过在存储桶上指定CORS policy来解决跨域问题。

+0

如何使用headObject()检查特定文件?随着参数的暴露,似乎你只能检查特定的桶。另外,我注意到我确实启用了CORS。我只需要找到一种方法来处理来自服务器的403响应(如果文件不存在) – 2014-09-27 13:01:22

+0

使用'headObject()'您需要指定存储区和密钥(文件在存储区内的完整路径)。 – dcro 2014-09-27 18:02:42

+0

如果使用CORS检查HEAD,则需要确保在CORS策略中包含HEAD方法。 (大多数默认策略不包括它) HEAD Matt 2015-07-08 17:57:13

相关问题