Проблемы с x_sendfile в Rails - PullRequest
       20

Проблемы с x_sendfile в Rails

1 голос
/ 15 февраля 2009

У меня проблемы с x_sendfile Джона Генина (http://john.guen.in/past/2007/4/17/send_files_faster_with_xsendfile/).

)

При кодировании загрузки файла PDF я использую следующий код:

def send_the_file(filename)
  xsendfile (“#{Rails.root}/doc/” + filename, :type => ‘application/pdf’)
end

но я загружаю только 1 байт. Обычно это происходит, если имя файла не является абсолютным (следовательно, добавляется # {Rails.root}. Я также проверил, что файл имеет необходимые разрешения. Это не удалось как на локальном хосте, так и на моем сайте prod.

Есть идеи, что я делаю не так?

ТИА,

Урф

Ответы [ 3 ]

3 голосов
/ 16 февраля 2009

Какую версию Rails вы используете? Если вы используете 2.1 или более позднюю версию, опция X-Sendfile встроена в метод Rails send_file.

send_file 'filename', :x_sendfile => true

В противном случае, вы уверены, что mod_xsendfile установлен и настроен правильно?

2 голосов
/ 06 апреля 2009

Возможно, вы захотите убедиться, что вы на самом деле используете веб-сервер, который поддерживает xsendfile. Если вы в режиме разработки, то, скорее всего, нет, и он может потерпеть неудачу.

0 голосов
/ 24 сентября 2010

Попробуйте установить в apche httpd.conf файл XSendFileAllowAbove on

...