2017-07-28 1 views
0

Je veux une application Winforms C# que j'ai écrite pour digérer un fichier PDF automatiquement ... donc, j'ai enregistré le type .webprintpdf dans mon programme d'installation d'installation. Et ... J'ai renommé un fichier nommé test.pdf en test.webprintpdf ... lorsque je double-clique sur le fichier dans l'explorateur de fichiers ... il est automatiquement ouvert par mon application.Les extensions de fichier personnalisées fonctionnent dans l'Explorateur de fichiers mais pas les navigateurs

Cependant, dans mon html Je possède ce code ...

<script language="JavaScript">window.location.href = 'test.webprintpdf';</script> 

Note: le type MIME est réglé sur "application/octet-stream" pour ce fichier.

Tous les navigateurs téléchargent le fichier ... mais aucun d'eux ne veut l'ouvrir en utilisant mon application. Avec Firefox et Chrome, il est sauvegardé par défaut ... et quand j'essaie de l'ouvrir, mon application n'apparaît pas dans la liste des applications "helper" possibles ... mais si je navigue vers mon exécutable cela fonctionne bien. Dans les deux cas, "Save as Default" est soit désactivé, soit non disponible.

Dans IE ... le texte du fichier apparaît dans la fenêtre du navigateur.

Répondre

0

Si vous souhaitez que le document ouvrir externe au navigateur, vous devez définir l'en-tête suivant:

content-disposition: attachment; filename=xxx.webprintpdf 

Sinon, le navigateur va essayer de gérer la ligne de documents.

Aussi, assurez-vous de vos têtes permettent la mise en cache du contenu (ne pas mis HttpCacheability.NoCache) ou bien le navigateur affiche toujours une boîte de dialogue Enregistrer sous, car il ne peut pas mettre en cache le fichier pour l'ouvrir dans la app.