2013-12-09 3 views
6

У меня есть элемент управления asp.net FileUpload. можно успешно загрузить файл для хранения в сессии, но когда я Тринг, чтобы получить его InputStream (я хранилище файлов в HttpPosterFile) Я получаю ошибкуПолучение ошибки «Не удается получить доступ к закрытому файлу» при получении файла с сеанса

не удается получить доступ к закрытому файлу

tr.PostedFile //<== HttpPostedFile; 
byte[] byteArray = null; 
using (var binaryReader = new BinaryReader(tr.PostedFile.InputStream)) 
{ 
    byteArray = binaryReader.ReadBytes(tr.PostedFile.ContentLength); 
} 
+4

Не было бы лучше просто сохранить массив байтов данных файла в сеансе, а не HttpPostedFile с потоком? – Paddy

ответ

1

Вы использовали using?

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

+0

tr.PostedFile <== HttpPostedFile; byte [] byteArray = null; using (var binaryReader = new BinaryReader (tr.PostedFile.InputStream)) { byteArray = binaryReader.ReadBytes (tr.PostedFile.ContentLength); } ; Это мой код – Jaztingo