Используя send_file в направляющих

Я отправляю файл MSWord с помощью направляющих. т.е. когда я нажимаю на ссылку, файл документа от tmp папки (в проекте) отправляется.

Код, который я использую,

@filename ="#{RAILS_ROOT}/tmp/test/test.doc"
send_file(@filename ,
            :filename      =>  "test",
            :type          =>  'application/msword',
            :disposition  =>  'attachment',
            :streaming    =>  'true',
        :buffer_size  =>  '4096')

Это работает, но это отправляет пустой файл. Содержание отсутствует в файле. Какие-либо предложения?

11
задан John Topley 18 April 2010 в 16:58
поделиться

2 ответа

Нет опции send_file : streaming, это: stream. Вы передаете неверные типы параметров. : buffer_size должен быть числом, а не строкой. : stream должен быть логическим, а не строковым.

:stream => true,
:buffer_size => 4096,

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

Вы можете попробовать это?

@filename ="#{RAILS_ROOT}/tmp/test/test.doc"
send_file(@filename, :filename => "test.doc")
14
ответ дан 3 December 2019 в 07:11
поделиться

Попробуйте отправить с помощью: disposition => 'inline'

send_file path, :type => 'application/msword', :disposition => 'inline'
0
ответ дан 3 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: