rails send_file и send_data отправляют файлы нулевого байта - PullRequest
1 голос
/ 30 января 2011

Я пытаюсь отправить pdf обратно пользователю, но у меня серьезные проблемы с получением send_file и send_data для работы. Я создал PDF-файл следующим образом:

tmp = Tempfile.new('filled')
new_tmp_path = PDFPrint.fill_form_using_pdftk(template_path, tmp.path)
send_file (new_tmp_path, :filename => 'filled.pdf')

Браузер запрашивает загрузку, но загруженный файл fill.pdf имеет нулевой байт. Я подтвердил, что new_tmp_path содержит действительный pdf (хороший, заполненный контент)

Я пробовал это:

File.open(new_tmp_path, 'r') do |f|
  send_data(f.read, :filename => "filled.pdf")
end

Но это также дает мне ту же проблему загрузки -> нулевого байта, в то время как файл на сервере (new_tmp_path) имеет идеальное содержимое.

С уважением,

1 Ответ

0 голосов
/ 30 января 2011

Попробуйте отправить простой файл, чтобы увидеть, работает ли он

send_file '/path/to.jpeg', :type => 'image/jpeg', :disposition => 'inline'

Прочитать эту ветку , я думаю, в ней есть все, что вам нужно.

...