IE 10 - téléchargement de Fichier questions
Je suis en train de télécharger un fichier excel (généré dynamiquement à l'aide de C#\ASP.NET) et je reçois le IE10 Afficher les Téléchargements dialogue lorsque je clique sur "Ouvrir", il dit: "abc.xls ne pouvait pas être téléchargé" erreur, mais après avoir cliqué sur "Réessayer" il ouvre la .fichier xls correctement dans le deuxième essai.
Quand je test ce en Chrome ou Firefox, il fonctionne très bien.
Pouvez-vous partager votre code s'il vous plaît? Il sera utile dans l'identification de votre problème.
OriginalL'auteur user972255 | 2013-05-20
Vous devez vous connecter pour publier un commentaire.
Je pense que cela peut expliquer le comportement étrange:
"Content-Length et d'Encodage de Transfert de Validation dans le IE10 Gestionnaire de Téléchargement"
Il semble que IE9 bêta avait introduit
content-length
ettransfer-encoding
de validation lors du téléchargement de fichiers, mais a trouvé que c'était trop difficile, parce que le nombre de serveurs à ne pas envoyer de bonnes valeurs pour ces téléchargements qui sont traitées à l'aide de code. Apparemment, ils l'ont transformé en IE10, cependant, et juste à espérer pour le mieux.j'avais parier que l'exactitude de la valeur qui sera envoyée lorsque le téléchargement est lancé devrait résoudre ce problème. Bien sûr, il n'aurait pas été un problème pour commencer... ai yi yi.[Modifier]
S'avère que ce problème était lié, pour moi au moins) avec l'aide de
Response.Close()
et/ouResponse.End()
dans le code. Cet article explique pourquoi vous ne devriez pas utiliser ces 2 méthodes, et pourquoiHttpApplication.CompleteRequest
est la méthode de choix. L'évolution de notreResponse.End()
etResponse.Close()
instances deHttpApplication.CompleteRequest
résolu nos IE10 les problèmes de téléchargement. Comme par magie. Apparemment MSDN maintenant décourage l'utilisation de ces 2 méthodes (malgré des années de MSDN exemples de code qui en contiennent), et maintenant, préconise l'utilisation deHttpApplication.CompleteRequest
à la place.Nous avons toujours été en guerre avec l'Eurasie...
[/Edit]
HttpApplication.CompleteRequest()
AVANT appelerResponse.End()
. Sinon, le code HTML de la page ASPX obtient toujours annexé à mon fichier téléchargé.OriginalL'auteur jfsaliba
J'ai été d'obtenir un comportement similaire -
Après les combats de cette question pendant environ 12 heures, ce qui a fonctionné pour moi:
Changer en-tête de réponse de
À
Remarque que j'avais un autre un bon de rappeler symptôme: j'ai été la mise
Malgré que la configuration d'IE utilisé le nom du fichier à partir de l'URL (donc il a dit "getInventory ne pouvait pas être téléchargé" - et il a sauvé le mal nommé fichier dans le dossier téléchargements!).
Quand j'ai changé le "Content-Type" IE commencé à honorer le nom de fichier dans l'en-tête.
Pour l'enregistrement voici tous les en-têtes de réponse que je suis:
OriginalL'auteur wwwhack