Image file.Dispose() - не закрывает поток - C#
Формулировка задачи:
Всем привет! Подскажите пожалуйста, почему так может быть: скачиваю картинку с сайта, проверяю её разрешение этим кодом:
И вот там, где написано file.Dispose(); закрытие фотографии не происходит. и выдаёт ошибку.
Причём эта проблема вчера появилась, до вчерашнего дня нормально работало. Но в коде я ничего не менял. Перезагрузил винду (ну мало ли) и всё равно не помогло.
Может быть я что-то не так в коде написал?
//51. Узнаю и сравниваю с условием разрешение фотографии: if (project.Variables["HeightAndWidthForPhoto"].Value != "") { Image file = Image.FromFile(papkaDlyaZagr + @"\" + numberPhoto + formatPhoto); // Путь к картинке project.SendInfoToLog(file.Width.ToString()); project.SendInfoToLog(file.Height.ToString()); if (Convert.ToInt32(file.Width) < W || Convert.ToInt32(file.Height) < H) { //52. Удаляю фотографию, раз размер меньше project.SendInfoToLog(String.Format("Поток {0}: Фотография оказалась меньшего разрешения: {1}. Нужно: {2}. Удаляю её.", intNumPotok, file.Width.ToString() + "x" + file.Height.ToString(), W.ToString() + "x" + H.ToString()), true); project.SendInfoToLog(papkaDlyaZagr + @"\" + numberPhoto.ToString() + formatPhoto); step52: try { file.Dispose(); File.Delete(papkaDlyaZagr + @"\" + numberPhoto.ToString() + formatPhoto); continue; } catch { if (kolPopitokDelPhoto < 5) {Thread.Sleep(2000); kolPopitokDelPhoto++; goto step52;} project.SendErrorToLog(String.Format("Ошибка на шаге 52."), true); return null;} } }
Решение задачи: «Image file.Dispose() - не закрывает поток»
textual
Листинг программы
Image file; using (var fstream = File.OpenRead(papkaDlyaZagr + @"\" + numberPhoto + formatPhoto)) { file = Image.FromStream(fstream); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д