On Sep 5, 2011, at 8:11 PM, Igor Kasyanchuk wrote:
> Привет всем
>
> Возникла проблема, есть кнопочка - сгенерить XLS, вобщем она
> возвращает файл с репортом. Все работает отлично на девелопменте но на
> продакшене файл возвращается пустой, или битый - это смотря каким
> способом я его отправляю (самое чудное что если файл не большой - то
> все работает, а для файла 615 кб не работает).
> Вот пример кода (что я только тут не пробовал менять)
> book = Spreadsheet::Workbook.new
> sheet = book.create_worksheet
> file_name = "#{Rails.root}/public/data-#{Time.now.to_i}.xls"
> book.write file_name
> send_file file_name, :type => "application/vnd.ms-
> excel", :filename => "csv-raw-data-#{Date.today.strftime('%m/%d/%Y')}-
> #{Time.now.to_i}.xls", :stream => false, :disposition => 'attachment'
> File.delete(file_name)
>
> Или (вот этот метод работает для файла меньшего размера)
> #report = StringIO.new('')
> #book.write report
> #send_data report.string, :type => :xls, :filename => "csv-raw-
> data-#{Date.today.strftime('%m/%d/%Y')}.xls", :disposition =>
> 'attachment'
>
> На сервере nginx.
>
> Локально пробовал и работает (через nginx start).
> Если файл просто открывать напрямую - тоже работает, даже не знаю куда
> смотреть и что менять
>
> Буду рад вашим советам, спасибо
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
> Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Комментариев нет:
Отправить комментарий