2011-08-27 5 views
1

Après avoir récemment basculé mon application Rails 3.0 sur SSL, j'ai rencontré des problèmes de téléchargement de fichiers dans Internet Explorer. Tout fonctionne bien dans Firefox et Chrome. Après une recherche approfondie, je suis assez confiant que le problème est lié à l'en-tête de réponse HTTP Cache-Control.Téléchargement de fichiers dans Internet Explorer via SSL dans Rails

Donc, dans le code, je supprime manuellement Cache-Control et Pragma juste avant d'appeler send_file.

response.headers.delete("Pragma") 
response.headers.delete('Cache-Control') 
send_file(response_letter_path, :filename=>"aod_response_letter.docx", :disposition=>'inline') 

Mais quand je vois la réponse HTTP à l'aide Firebug ou les outils de développement Chrome, il montre encore "Cache-Control: private".

Alors tout d'abord, suis-je sur la bonne voie pour résoudre ce problème d'IE? Et en second lieu, est-ce la bonne façon de supprimer les en-têtes de la réponse HTTP?

Merci!

Répondre

0

Oui, vous êtes sur la bonne voie. J'ai juste couru dans ceci et l'ai résolu en ajoutant la ligne suivante avant l'appel de send_file. Rails définit l'en-tête HTTP Cache-Control: no-cache par défaut. Comme IE utilise le cache disque pour lire la vidéo, il génère une erreur "Impossible de trouver le fichier de lecture".

Questions connexes