vaibhav1800 Ответов: 1

Сохранить систему.чертеж.файл-образ на свой локальный компьютер


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

Я получаю ниже ошибку для того же самого.

Solving: A generic error occurred in GDI+. in C#


Есть ли кто-нибудь, кто сталкивался с подобными вещами и смог наконец сохранить изображение в local ?

Ниже приведен код

public static void SavePic(Image img)
        {
            Image result = null;
            ImageFormat format = ImageFormat.Png;
            result = img;

            using (Image imageToExport = result)
            {
                string filePath = string.Format(@"C:\Vaibhav Personal.{0}", format.ToString());

                imageToExport.Save(filePath, format);

            }

        }


Что я уже пробовал:

Попробовал погуглить, нашел много ответов, но ни один из них не принес пользы в моем случае

F-ES Sitecore

Попробуйте сохранить файл в папке, а не в корневом каталоге диска C.

1 Ответов

Рейтинг:
5

OriginalGriff

Начать здесь: Почему я получаю "параметр недопустим." исключение, когда я читаю изображение из своей базы данных?[^] и проверьте, что именно он делает. Затем проверьте свой код сохранения и содержимое базы данных.

Если все это выглядит хорошо, используйте отладчик, чтобы посмотреть, что именно происходит в вашем методе - вы используете using есть ... гм ... отличается и, скорее всего, вызовет другие проблемы позже, так как это заставит утилизировать изображение, которое оба imageFormat и img (и, следовательно, внешний мир, который вызывает этот метод) имеют в виду. using блоки должны использоваться для новых экземпляров, а не для существующих.


vaibhav1800

Пробелем была ленивая загрузка. Итак, мы сохраняли изображение до того, как оно было создано.
Чтобы решить эту проблему, я создал еще одну переменную типа изображения под названием copy и назначил свое исходное изображение img для копирования, а затем сохранил файл copy image.

Обмен кодом. Пожалуйста, дайте мне знать для получения дополнительных разъяснений. Большое спасибо, Грифф !

общественная статический недействительным сайт savepic(образ IMG и строку именем)
{
строка fileName = имя файла;
строка saveDirectory = @"C:\Personal";
если (!Directory.Exists(fileName))
{
Каталог.CreateDirectory(имя файла);
}
строка fileSavePath = путь.Combine(saveDirectory, fileName);
Скопировать изображение = ИМГ;
копировать.Сохранить(fileSavePath, ImageFormat.Jpeg);

}

OriginalGriff

Пожалуйста