1

次の行を使用して、いくつかの csv ファイルを作成し、それらを圧縮して、添付ファイル (ダウンロード用) としてクライアントに送信する Rails アプリケーションがあります。

send_file t.path, :x_sendfile => true, :type => 'application/zip', :filename => "invited_friends_stats.zip"

サーバー上に作成された圧縮ファイルを表示すると使用できますが、アプリケーションを介してファイルをダウンロードすると、ファイルに解凍され、.zip.cpgzファイルに圧縮されるzipファイルに圧縮され.zip.cpgzます。など

.zip次に、「The Unarchiver」アプリを (Mac OSX で) ダウンロードしました。ファイルを開こうとすると、エラーが発生します。"the contents cannot be extracted with this program"

なぜこれが起こっているのか誰にも分かりますか?エンコードエラーなど?上記の行に欠けているもの、またはこれを修正する構成に欠けているものはありますか?

4

2 に答える 2

0

ZIP ファイルをストリーミングしようとしました。:disposition => 'attachment'を追加して、ブラウザに完全なファイルをダウンロードさせてみてください。

于 2012-02-06T15:19:12.870 に答える
0

このようなもので Content-Disposition 応答ヘッダーを設定してみてください

response.headers['Content-Disposition'] = "attachment; filename=\"#{@filename}\""
于 2015-02-12T06:28:02.000 に答える