2009-01-22 4 views
0

Quand est-ce que PostedFile.InputStream est disponible lors du téléchargement d'un fichier volumineux? Je voudrais passer un flux à un autre processus et j'espère que si un gros fichier a été téléchargé que je peux passer le flux directement à ce nouveau processus sans écriture dans le système de fichiers. Comme le processus et/ou le téléchargement peuvent prendre un certain temps, je me demande si je peux commencer à lire InputStream immédiatement ou si je dois attendre que le fichier entier soit transféré sur le serveur avant de pouvoir être traité.Quand InputStream est-il disponible lors du téléchargement d'un fichier volumineux?

Je suppose qu'une question plus générale est - quel est le cycle de vie d'une demande POST lorsque le téléchargement de fichier est impliqué?

Répondre

1

Le PostedFile.InputStream n'est pas disponible jusqu'à ce que le fichier entier ait été téléchargé. IIS6 met en cache le fichier dans la mémoire pendant qu'ISIS7 met en cache le fichier sur le disque avant de transmettre le flux d'entrée à votre méthode.

Vous pouvez obtenir un HttpModule tel que NeatUpload qui vous permet d'accéder aux bits pendant le téléchargement.

Questions connexes