Использование Stream более одного раза - PullRequest
2 голосов
/ 21 июля 2011

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

  • Шаг 1. Использование Stream sm = HttpPostedFile.InputStream Я могу успешно загрузить файл.
  • Шаг 2. Используйте тот же поток для изменения размераизображение разных размеров.Но всегда я получаю error о том, что используется поток.

Предположим, что если я пропущу шаг 1 и выполню только шаг 2, я смогу изменить размер входного потока (изображений) доразного размера.По сути, он позволяет мне использовать inputStream только один раз.

Как мне добиться последовательной обработки шагов 1 и 2?

Я пытался сохранить inputStream в переменной и использовал отдельную копию для каждого шага, но безуспешно.

Может кто-нибудь предложить / помочь мне?

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

Вы установили Stream.Position на 0, прежде чем использовать его?

Храня в нескольких переменных, вы, вероятно, дублируете ссылку на один и тот же объект в памяти.

0 голосов
/ 21 июля 2011

Если вы используете этот поток для загрузки нескольких разных изображений на сервер, вы, вероятно, захотите открыть новый поток для каждого загружаемого файла, а не пытаться загрузить их все одним потоком.

...