Asp.net общая ошибка в GDI+ on image.save при разделении изображения tiff
Дорогие все,
я использую следующий код в веб-приложении (ASP.NET/C#) для разделения изображения tiff:
public void SplitTiffImage(string inputFilePath, EncoderValue format) { try{ using (FileStream fs = new FileStream(inputFilePath, FileMode.Open, FileAccess.Read) ) { using (Image temp_image = Image.FromStream(fs)) { Guid objGuid = temp_image.FrameDimensionsList[0]; FrameDimension objDimension = new FrameDimension(objGuid); //Saves every frame as a separate file. Encoder enc = Encoder.Compression; int curFrame = 0; for (int i = 0; i < page_number; i++) { temp_image.SelectActiveFrame(objDimension, curFrame); EncoderParameters ep = new EncoderParameters(1); ep.Param[0] = new EncoderParameter(enc, (long)format); ImageCodecInfo info = GetEncoderInfo("image/tiff"); string fileName = string.Format("{0}_{1}.tif", "some_name", i.ToString()); temp_image.Save(fileName, info, ep); curFrame++; }// for }// using imgage }// using filestream File.Delete(inputFilePath); }catch(Exception x){ /*do something*/} }
я называю это так:
SplitTiffImage(ImageFullPath , EncoderValue.CompressionNone);
я проверил код несколько раз. иногда он работает успешно, а иногда терпит неудачу : он сохраняет много кадров, а затем терпит неудачу в
temp_image.Save(fileName, info, ep)
с общей ошибкой, возникшей в GDI+. это происходит в случайных кадрах, а не в конкретном.
Что я уже пробовал:
я уверен, что у пользователя есть разрешения..
я протестировал код на многих tiff-файлах. он успешно работает для файла, и в следующий раз он терпит неудачу для того же файла !
я прокомментировал файл.Оператор Delete, чтобы убедиться, что исходный файл не затронут, но результаты не изменились
#realJSOP
поместите код в блок try/catch.
nina4ever
он уже был в блоке try catch, и исключение таково : generic error occurred at GDI+ ... at Image.Save