Сбой загрузки файла сервера Rails в send_file

Я работаю над загрузкой файла. Мой сервер rails падает каждый раз, когда я загружаю - когда он достигает метода send_file.

Код контроллера:

file_path = '/home/rails/rails_app/public/test.csv'
send_file(file_path, options: {disposition: 'attachment', filename: File.basename(file_path)})

Журналы сервера:

Sent file /home/rails/rails_app/public/test.csv  (0.1ms)
server #

Этот код отлично работал на rails 2.X, но не работает при обновлении до rails 4.2.7.1


person Arpit Vaishnav    schedule 07.02.2017    source источник
comment
Журналы показывают, что ваш файл был отправлен, а не ошибка :( Может быть, вы используете application\pdf вместо application\csv?   -  person ErvalhouS    schedule 07.02.2017
comment
Я обновил код. Все та же проблема   -  person Arpit Vaishnav    schedule 07.02.2017
comment
Вы должны будете дать нам что-то для работы, этот журнал, который вы опубликовали, показывает не ошибку, а успешное сообщение.   -  person ErvalhouS    schedule 07.02.2017
comment
Если файл находится в папке приложения, вы можете использовать относительный путь, например file_path = 'public/test.csv'   -  person ErvalhouS    schedule 07.02.2017
comment
На самом деле, после этого журнала сервера, сервер приложений все время отключался. Вылетает и вылетает полностью. Итак, у меня есть такая большая часть журнала.   -  person Arpit Vaishnav    schedule 08.02.2017


Ответы (1)


Можете ли вы попробовать это и проверить?

File.open(file_path, 'r') do |f|
  send_data f.read
end
person Jeet    schedule 08.02.2017
comment
Потрясающе @jeet. Вы сэкономили мне много времени - person Arpit Vaishnav; 08.02.2017