Goran Bibic Ответов: 1

Сохранить и восстановить изображения с#


У меня есть приложение, но есть какое-то простое решение.

Использование этого кода для вставки в sql и работы нормально.
Но у меня есть 2000 сотрудников и у меня проблема с базой данных была слишком большой когда я поместил внутрь фотографии всех работников

Мне нужна какая-то помощь или решение, чтобы сохранить некоторую loaction с именем файла exmp. c:\some folder\imageofemployee.jpg

При нажатии на строку datagrid (выбор изменен), чтобы показать изображение из этого места

Не помещается в sql-образ, а просто расположение файла.

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

//Insert into sql  
  
 byte[] img_arr = null;  
            MemoryStream ms = new MemoryStream();  
            //dataPictureBox.Image.Save(ms, dataPictureBox.Image.RawFormat);  
  
            bool isNullOrEmpty = pictureBox1 == null || pictureBox1.Image == null;  
            if (!isNullOrEmpty)  
                pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);  
  
  
            img_arr = ms.GetBuffer();  
  
            
  
                    using (SqlConnection openCon = new SqlConnection(cs))  
                    {  
                        string saveStaff = "declare @maxNo integer = 0 select @maxNo = isnull(max(redni_broj), 0) from [dbo].[radnici]; Set @maxNo=@maxNo+1;  INSERT INTO dbo.radnici (redni_broj, data) VALUES (@maxNo,@data)";  
  
                        using (SqlCommand querySaveStaff = new SqlCommand(saveStaff))  
                        {  
                            querySaveStaff.Connection = openCon;  
                             
                            querySaveStaff.Parameters.AddWithValue("@data", img_arr);  
  
  
                            openCon.Open();  
                            querySaveStaff.ExecuteNonQuery();  
                            openCon.Close();  
  
  
  
                        }

Richard MacCutchan

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

Goran Bibic

Да. Тот. Нужен какой-то код. Инструкция...

Richard MacCutchan

Постройте место, где вы будете сохранять изображение; например, "C:\imagesaves\username\picture.jpg". Скопируйте изображение в это место, сохраните строку в базе данных со ссылкой на нее в качестве ключа.

Goran Bibic

Какой-то код? Или вы можете отредактировать мой код

Richard MacCutchan

Я не могу объяснить это более ясно. Попробуйте сами, это не так уж и сложно.

#realJSOP

Вы не можете написать код, чтобы сделать это?

1 Ответов

Рейтинг:
2

OriginalGriff

Попробуй:

pictureBox1.Image.Save(@"D:\Temp\MyPic.jpg", ImageFormat.Jpeg);

Изображение.Метод Сохранения (System.Чертеж) | Microsoft Docs[^]