几个月前,我设置了一个rails应用程序。上传的图片保存在S3的私人存储桶中。我可以通过过期的URL下载它们。现在这已不再适用了,即使我没有改变任何东西。可能是什么原因?时区问题?
我生成的链接如下所示: http:// [bucket] .s3-eu-west-1.amazonaws.com // original / image.jpg?AWSAccessKeyId = [AQCCESS_KEY] \ u0026Expires = 1408020974 \ u0026签名= [签名]
有了这个链接,我试图在8月10日欧洲中部时间上午10点56分下载一个文件。可能会出现时区问题吗?如何读取该URL中的Expires参数。
知道这可能是什么问题吗?
提前谢谢!
答案 0 :(得分:1)
这回答了您的问题 - '如何读取该网址中的Expires参数。'问题:
过期时间定义为Epoch time。为了查看那个时间,您可以运行以下ruby代码:
require 'date'
DateTime.strptime("1408020974",'%s').to_s
返回:
"2014-08-14T12:56:14+00:00"
希望它有所帮助。
答案 1 :(得分:0)
好的,我发现了问题:
正如我所说,链接看起来像这样:
http:// [bucket] .s3-eu-west-1.amazonaws.com // original / image.jpg?AWSAccessKeyId = [AQCCESS_KEY] \ u0026Expires = 1408020974 \ u0026签名= [签名]
问题是 u0026 ,必须用“& ” - 符号代替。我会考虑如何解决问题。但至少它被确定:)