2010-10-14 15 views
2

J'écris un gestionnaire de téléchargement (asp.net) pour gérer les téléchargements d'images.Téléchargement de fichier/La connexion a été réinitialisée

L'objectif est de vérifier le type d'image et la taille du contenu avant que le fichier entier ne soit téléchargé. Je ne peux donc pas utiliser l'objet Request directement car cela charge tout le flux d'entrée du fichier. J'utilise donc le HttpWorkerRequest.

Cependant, je continue d'obtenir "La connexion au serveur a été réinitialisée pendant le chargement de la page".

Après un peu d'enquête, il est devenu évident que lors de la publication du fichier de l'appel ne fonctionne que si le flux d'entrée toute est lu.

Ceci, bien sûr, est exactement ce que je ne pas veulent faire :)

Quelqu'un peut-il me dire s'il vous plaît comment je peux fermer la demande sans causer le problème et avoir le navigateur « reset connexion » traiter la réponse?

Répondre

1

Il n'y a aucun moyen de le faire, car c'est ainsi que fonctionne HTTP. Le mieux que vous puissiez faire est de filtrer les données du client (c'est-à-dire de les lire en morceaux) et de les oublier immédiatement. Cela devrait éviter que vos besoins en mémoire soient bloqués, bien que cela nuise à votre bande passante.

+0

Merci Mike. Étant donné que mon téléchargement est effectué en utilisant ajax (jquery form), je peux toujours provoquer l'échec de l'appel, de sorte que le fichier entier ne soit pas téléchargé. J'ai un autre bit interroger le statut, donc je vais gérer l'échec là-bas. –

Questions connexes