<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>fookwood (fookwood)</title>
    <link>https://ruby-china.org/fookwood</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>用 Paperclip 的 paperclip:refresh:missing_styles 发现 S3 上会重复生成文件</title>
      <description>&lt;p&gt;我在做一个图片上传的功能，因为考虑到以后会使用不同 style 的图片。就想测试下增加 style 的时候需要如何操作。&lt;/p&gt;

&lt;p&gt;我会先上传一张图片，然后去掉下面代码里的注释&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Post&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:user&lt;/span&gt;

  &lt;span class="n"&gt;has_attached_file&lt;/span&gt; &lt;span class="ss"&gt;:image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="ss"&gt;:path&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"/images/:style/:hash.:extension"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:hash_secret&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"*DFNGKDFJKNGKDFKJLGD"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:storage&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:s3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;:s3_credentials&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;root&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/config/aws.yml"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;#:styles =&amp;gt; { thumb: "200x200#"}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="n"&gt;validates_attachment_presence&lt;/span&gt; &lt;span class="ss"&gt;:image&lt;/span&gt;
  &lt;span class="n"&gt;validates_attachment_file_name&lt;/span&gt; &lt;span class="ss"&gt;:image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;matches: &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;/png\Z/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sr"&gt;/jpe?g\Z/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sr"&gt;/gif\Z/&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="n"&gt;validates_attachment_content_type&lt;/span&gt; &lt;span class="ss"&gt;:image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;content_type: &lt;/span&gt;&lt;span class="sr"&gt;/\Aimage/&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;通过&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rake paperclip:refresh:missing_styles
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;来生成 200*200 的图片。但是我发现上面的命令执行完了之后发现/images/original/下面会出现重复的图片，大小一样，内容一样，名字不一样
有人遇见过同样的问题么？&lt;/p&gt;

&lt;p&gt;相关 Gem
paperclip (4.3.0)
rails (4.2.4)
aws-sdk (1.66.0)&lt;/p&gt;</description>
      <author>fookwood</author>
      <pubDate>Fri, 11 Sep 2015 21:47:06 +0800</pubDate>
      <link>https://ruby-china.org/topics/27292</link>
      <guid>https://ruby-china.org/topics/27292</guid>
    </item>
  </channel>
</rss>
