Отправка заархивированных файлов в виде вложений - PullRequest
1 голос
/ 06 февраля 2012

У меня есть приложение rails, которое создает пару файлов csv, архивирует их и отправляет их клиенту в виде вложения (для загрузки), используя следующую строку:

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

Когда я просматриваю архивфайл, созданный на сервере, я могу использовать его, однако, когда я загружаю файл через приложение, он распаковывается в файл .zip.cpgz, а в свою очередь сжимается в файл zip, который сжимается в .zip.cpgz файл и т. д. и т. д.

Затем я загрузил приложение «Unarchiver» (в Mac OSX) и при попытке открыть файл .zip выдает ошибку: "the contents cannot be extracted with this program"

* 1012У кого-нибудь есть идеи, почему это происходит?Ошибка кодирования и т. Д.?Есть ли что-то, чего мне не хватает в приведенной выше строке или в моей конфигурации, чтобы это исправить?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2015

Попробуйте установить заголовок ответа Content-Disposition как-то так

response.headers['Content-Disposition'] = "attachment; filename=\"#{@filename}\""
0 голосов
/ 06 февраля 2012

Вы пытаетесь транслировать файл ZIP.Попробуйте добавить :disposition => 'attachment', чтобы заставить браузер загрузить весь файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...