<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ikunsam (Mekal Zheng)</title>
    <link>https://ruby-china.org/ikunsam</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[SOLVED] 怎么在 Carrierwave 中为不同的 Version 设置不同的文件名后缀？</title>
      <description>&lt;p&gt;最近在用 Carrierwave 做媒体文件管理，现在碰到一个问题是，上传的源文件如果是 psd 或者 svg 格式的，我会将源文件不做任何处理进行保存，但同时会保存一份其他版本，比如 &lt;strong&gt;thumb&lt;/strong&gt; ，thumb 版本我会用 &lt;strong&gt;MiniMagick&lt;/strong&gt; 转换成 &lt;strong&gt;PNG&lt;/strong&gt; 格式&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="ss"&gt;:thumb&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;process&lt;/span&gt; &lt;span class="ss"&gt;:convert&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'png'&lt;/span&gt;
  &lt;span class="n"&gt;process&lt;/span&gt; &lt;span class="ss"&gt;:resize_to_limit&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Uploader 中重写了 Filename&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;filename&lt;/span&gt;
  &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;Time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;extension&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;original_filename&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;那么问题来了，这样保存之后的文件后缀名都是 svg（虽然 thumb 版本格式是 PNG 的），在页面就无法显示 &lt;strong&gt;thumb&lt;/strong&gt; 图片。
求点拨！&lt;/p&gt;
&lt;h3 id="祝各位Rubist春节愉快，羊年吉祥！"&gt;祝各位 Rubist 春节愉快，羊年吉祥！&lt;/h3&gt;</description>
      <author>ikunsam</author>
      <pubDate>Tue, 17 Feb 2015 15:11:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/24296</link>
      <guid>https://ruby-china.org/topics/24296</guid>
    </item>
  </channel>
</rss>
