Когда InputStream доступен при загрузке большого файла?

StackOverflow https://stackoverflow.com/questions/470865

Вопрос

Когда будет доступен файл PostedFile.InputStream при загрузке большого файла?

Я хотел бы передать поток другому процессу, и я надеюсь, что если загружается большой файл, я могу передать поток прямо в этот новый процесс без записи в файловую систему. Поскольку процесс и / или загрузка могут занять некоторое время, мне интересно, могу ли я сразу начать читать InputStream или мне нужно ждать, пока весь файл будет передан на сервер, прежде чем он сможет быть обработан.

Я предполагаю, что более общий вопрос - каков жизненный цикл запроса POST, когда происходит загрузка файла?

Это было полезно?

Решение

PostedFile.InputStream недоступен, пока не будет загружен весь файл. IIS6 кэширует файл в памяти, в то время как IIS7 теперь кэширует файл на диск перед передачей входного потока вашему методу.

Вы можете получить модуль HttpModule, например NeatUpload , который позволяет вам получать доступ к битам, пока они загрузка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top