2009-02-15 7 views
1

Je rencontre des problèmes avec le fichier x_sendfile de John Guenin (http://john.guen.in/past/2007/4/17/send_files_faster_with_xsendfile/).Problèmes avec x_sendfile dans Rails

Lors du codage le téléchargement d'un fichier PDF, je suis en utilisant le code suivant:

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

mais je reçois seulement 1 octet téléchargé. Cela se produit généralement si le nom de fichier n'est pas absolu (d'où l'ajout du fichier # {Rails.root}.) J'ai également vérifié que le fichier possède les permissions nécessaires, échouant à la fois sur localhost et sur mon site prod

idées ce que je fais mal?

TIA,

Urfé

Répondre

3

Quelle version de Rails utilisez-vous? Si vous êtes sur 2.1 ou ultérieure, l'option X-Sendfile est intégré dans Rails' Méthode send_file

send_file 'filename', :x_sendfile => true 

Sinon, êtes-vous sûr que mod_xsendfile a été installé et configuré correctement?

+0

Je suis sur 2.2.2 et avait essayé le send_file déjà. Cependant vous pourriez bien être sur le mod_sendfile. J'ai demandé à ce qu'il soit installé sur mon serveur prod mais j'ai oublié de l'installer sur dev! Doh! : $ merci pour la réponse. –

2

Vous pouvez vous assurer que vous utilisez réellement un serveur Web qui prend en charge xsendfile. Si vous êtes en mode Dev, vous ne l'êtes probablement pas et cela peut échouer.

0

Essayez de mettre dans apche fichier httpd.conf XSendFileAllowAbove sur