IE8 ne sera pas le téléchargement d'un fichier avec un mime/type avec l'UAC activé
J'ai un .net service en cours d'exécution sur la machine locale (Windows 7 x64, IE8, .net 3.5, C#) qui renvoie un fichier dans le navigateur en réponse à une action de l'utilisateur. L'utilisation de firefox ou de chrome, le fichier est correctement téléchargé et notre application est lancée par l'intermédiaire d'un type mime personnalisé et tout est bien.
Cependant, avec IE8, je reçois une boîte de dialogue "impossible de télécharger le fichier à partir . Pas pu ouvrir ce site internet. Le site requis n'est pas disponible ou ne peut être trouvé. Réessayez plus tard".
À l'aide de fiddler, j'ai vérifié que IE ne recevoir la charge utile de le service.
Si je désactive l'UAC, c'est à dire ne téléchargez le fichier et lancer l'application associée.
La désactivation de l'UAC n'est pas une solution viable, que nos clients l'ont activé.
Comment puis-je obtenir IE8 pour lancer l'application associée avec l'UAC activé?
EDIT:
Après réinscription du type mime avec un id programmatique comme décrit ici, je peux obtenir IE pour ouvrir afficher la "Ouvrir ou Enregistrer de la boîte de dialogue" pour la DEUXIÈME fois, le lien est demandé à partir de la barre d'adresse. Pourquoi ne pas travailler la première fois?
application/octet-stream
suffit-il?Bonne question. Pour autant que je sais, c'est la façon dont IE détermine quel programme utiliser pour lancer une application. C'est une boucle fermée d'ici, c'est notre forme et notre viewer. Sinon comment ferions-nous?
Si vous utilisez un type mime générique comme application/octet-stream et une extension de fichier que vous avez enregistré avec votre lecteur (à moins que vous êtes spectateur d'installation), sera IE (et tout le reste) de l'afficher ensuite?
Si je passe en octet-stream, c'est à dire présente le dialogue ouvrir ou enregistrer. Si je choisis "ouvrir", il s'ouvre dans le navigateur et non dans l'application associée. Si je baisse le curseur de la sécurité de la zone internet sur le réglage le plus bas (en utilisant le type mime personnalisé), l'application est lancée, même avec le mode protégé.
A-t-elle à être un type MIME? N'a pas d'association par l'extension de fichier de travail? Ce type de fichier est qui?
OriginalL'auteur Jeff Paquette | 2010-01-25
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de résoudre ce problème aujourd'hui. Il s'avère que le code a été réglage de la
CacheControl
propriété de la réponse àHttpCacheability.NoCache
. En supprimant cette ligne de code a résolu le problème. L'autre moitié de la correction a été correctement enregistrement de type mime, et de l'extension de fichier avec un identificateur de Programme.J'ai démonté la réponse à la juste
content-disposition: attachment; filename=xxx
et un binaire en écriture de la chaîne de données. IE affiche correctement l'Ouvrir ou Enregistrer de la boîte de dialogue, même si la détection mime signalé le fichier en tant que texte/html (ce qui ne devrait vraiment avoir été text/plain).J'ai rajouté le type de contenu d'en-tête et essayé de nouveau, puis la nosniff option et retesté et enfin le contrôle de la mémoire cache. Entre chaque essai, j'ai redémarré la machine virtuelle pour s'assurer qu'il a été un magnifique environnement de test (c'est à dire, rien en cache ou précontraint). Seul le cache de la ligne de contrôle affecté le comportement d'une façon négative.
OriginalL'auteur Jeff Paquette
À partir de MSDN
content-disposition=pièce jointe est-ce la solution ?!?
/Erling Damsgaard
DNS-IL ApS
OriginalL'auteur Famdam
Nous avons eu ce même problème ancré dans notre déploiement ClickOnce de http://www.Qiqqa.com. Je soupçonne qu'il a à faire avec le "Type MIME sniffing" que IE ne quand il obtient une application/octet-stream - je suppose que pour protéger l'utilisateur de genre de choses malveillantes.
De toute façon, pour résoudre le problème, nous avons changé le type mime de notre .déployer des fichiers de texte/brut évidemment pas l'idéal, mais en même temps, je ne sais pas un scénario où nous pourrions avoir un .déployer le fichier sur notre serveur que l'utilisateur de naviguer à l'extérieur de ClickOnce.
OriginalL'auteur Jimme
Devons faire en sorte de "no-store" apparaît dans votre tête avant de "no-cache". Voir ce post: http://blogs.msdn.com/b/ieinternals/archive/2009/10/03/internet-explorer-cannot-download-over-https-when-no-cache.aspx
OriginalL'auteur LungFungus
Pour moi la solution à ce problème était en train de changer
à
OriginalL'auteur Maxx