2010-11-23 28 views
0

J'ai une application Web qui permet à l'utilisateur de télécharger des fichiers et ensuite les afficher dans le navigateur. Ceci est fait en les affichant en ligne avec un IFrame. Cela fonctionne correctement pour tous les types de fichiers (par exemple, .doc, .xls, .pdf) à l'exception des formats Office 2007 .docx et .xlsx, qui lancent l'application dans une nouvelle fenêtre.Fichiers Word 2007 lancant une nouvelle fenêtre au lieu d'afficher en ligne

J'utilise ces valeurs pour l'en-tête 'Content-Type':

docx - "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 
xlsx - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 

L'en-tête 'Content-Disposition' est "en ligne; filename = example.docx".

Ceci est un script ASP classique qui retourne le fichier brut dans la réponse, demandé via l'attribut 'src' de l'IFrame et servi par IIS 6. Je n'ai pas Office 2007 installé sur mon PC, mais je fais disposez du Pack de compatibilité Office 2007. Cependant, cela a également été testé sur un client disposant d'Office 2007 et le problème persiste.

Comment puis-je forcer ces types de fichiers à ouvrir en ligne dans le navigateur plutôt que d'ouvrir une nouvelle fenêtre?

Toute aide appréciée.

EDIT:

Je aurais dû mentionner ce besoin que de travailler dans IE8.

Répondre

0

@Lee D: Même si vous définissez explicitement le type de contenu (et que le pack de compatibilité Office 2007 est installé sur votre PC), je pense que vous devez ajouter ces types MIME à votre serveur Web (dans le gestionnaire IIS) sous Propriétés du serveur puis Types MIME) pour voir si c'est l'ingrédient manquant.

+0

N'a pas aidé, j'ai peur. Merci pour la suggestion. –