我使用Paperclip使用S3存储图像。据我所知,Paperclip会在图像末尾附加一个字符串(时间戳)以用于缓存目的。你知道他们用什么方法来创建字符串吗?我需要使用.js重建它,这就是原因:
我使用jQuery的$ .getJSON获取内容,解析响应数据,构建数组并将其添加到DOM。一切都很好用,但我需要将字符串添加到文件名的末尾。
以下是一个例子:
<img src="http://s3.amazonaws.com/some_bucket/some_image.jpg?1293603533" />
虽然URL是一个示例,但附加到文件名的字符串是实际的。以下是此图片的其他数据。
image_file_size: 159713
image_height: 415
image_width: 900
image_updated_at: 2010-12-29 06:18:53
我认为它就像从image_updated_at属性剥离所有“:”和“ - ”一样容易,但看起来并不那么容易。它是完全随机的吗?有人对此有任何想法吗?我很感激一只手!
答案 0 :(得分:3)
我查看了Rails source,此asset_id
计算在此行中:
File.mtime(path).to_i.to_s
所以它只是将Time
对象转换为整数。并且ruby docs说它只是自纪元以来的秒数。
Here是如何将js中的日期转换为与ruby to_i
中相同的格式的示例。我检查了它,它给出了相同的值。
答案 1 :(得分:0)
更好的是使用image_updated_at.to_i
- 它还会从纪元返回秒数,并且还有一个不触及文件系统的优点。