2008-09-22 10 views
0

J'ai un site Web où les gens peuvent télécharger des documents, et les voir plus tard à leur convenance. Je stocke les informations binaires avec le type MIME dans mon DB, et plus tard, juste le flux de contenu binaire directement dans le navigateur.Comment ouvrir des fichiers Office 2007 stockés sur un site Web?

Cela fonctionne pour tous les types de fichiers, à l'exception des fichiers Office 2007. Lorsque j'essaie d'afficher les fichiers Office 2007, j'obtiens une fenêtre contextuelle demandant des informations d'identification. Après je rejette la la boîte de dialogue (en annulant), je reçois une autre pop-up comme celui ci-dessous:

Après avoir rejeté également cette boîte de dialogue (en cliquant sur « Oui »), le document ouvre enfin. Ce qui donne? Le navigateur ne sait-il vraiment pas comment gérer les fichiers Office 2007? J'ai vérifié le type de mime que j'économise, et tout semble correct. Des idées sur ce que je peux faire pour se débarrasser de ces boîtes de dialogue en essayant d'ouvrir un fichier?

Répondre

2

Découvrez this explanation sur Developer VS Office.

Il donne un hack de registre que vos utilisateurs pourraient choisir d'appliquer pour supprimer supprimer cet avertissement.

0

Utilisez-vous aussi content-disposition pour définir un nom de fichier? Il pourrait être une idée d'essayer

1

Votre navigateur ne gère probablement pas correctement les en-têtes Content-type et/ou Content-Disposition. J'ai vu cela se produire dans ff, safari et IE pour divers fichiers présentés de diverses manières. Essayez de télécharger le fichier via un proxy d'interception (tel que webscarab ou burpsuite) pour voir à quoi ressemblent les en-têtes de réponse. Cela devrait au moins vous faire savoir si le problème est basé sur le navigateur ou sur le serveur.

0

Renvoyez-vous un en-tête "Content-Disposition" avec votre fichier en streaming? De plus, gardez à l'esprit que Firefox et les anciennes versions d'IE traitent différemment l'en-tête du fichier.

"Content-disposition: pièce jointe; filename = movie.mpg"

Questions connexes