ホスティング ソリューションとして Linode を使用しています。MP3 (およびその他のメディア) を動的に取得し、ダウンロード用の .zip ファイルを作成する Rails 3 アプリがあります。開発中は正常に動作しますが、製品サーバーに配置するとzipファイルはダウンロードされますが、解凍するとfoo-bar.zip.cpgzというファイルが作成されます
私のコントローラーからのコードスニペットです -
def get_zip
t = Tempfile.new("#{@foobar.slug}-#{request.remote_ip}.zip")
Zip::ZipOutputStream.open(t.path) do |zos|
@foobardownloads.each do |foobardownload|
extension = File.extname(foobardownload.foobardownload_file_name).gsub(/^\.+/, '')
zos.put_next_entry("#{foobardownload.title}.#{extension}")
zos.print open(foobardownload.foobardownload.url).read
end
end
send_file t.path, :x_sendfile => true, :type => 'application/zip', :filename => "#{@foobar.slug}.zip"
t.close
end