AZHAR SAYYAD Ответов: 2

Как сохранить изображение и pdf файл с помощью savefiledialog в C#


Здравствуйте, я хочу сохранить изображение и pdf-файл одним и тем же методом с помощью savefiledialog. здесь изображение и pdf поступают из базы данных.

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

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

2 Ответов

Рейтинг:
2

Richard MacCutchan

SaveFileDialog просто получает информацию о файлах и каталогах от пользователя, он ничего не делает с этими файлами. Вам нужно написать код, чтобы сделать фактические сохранения. Вы можете использовать FileStream для копирования данных в локальные файлы.


Рейтинг:
1

Mohd_Deeb

Я бы написал что-то простое, как этот кусок кода :


private void button2_Click(object sender, System.EventArgs e)
{
   // Displays a SaveFileDialog so the user can save the Image
   // assigned to Button2.
   SaveFileDialog saveFileDialog1 = new SaveFileDialog();
   saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
   saveFileDialog1.Title = "Save an Image File";
   saveFileDialog1.ShowDialog();

   // If the file name is not an empty string open it for saving.
   if(saveFileDialog1.FileName != "")
   {
      // Saves the Image via a FileStream created by the OpenFile method.
      System.IO.FileStream fs = 
         (System.IO.FileStream)saveFileDialog1.OpenFile();
      // Saves the Image in the appropriate ImageFormat based upon the
      // File type selected in the dialog box.
      // NOTE that the FilterIndex property is one-based.
      switch(saveFileDialog1.FilterIndex)
      {
         case 1 : 
         this.button2.Image.Save(fs, 
            System.Drawing.Imaging.ImageFormat.Jpeg);
         break;

         case 2 : 
         this.button2.Image.Save(fs, 
            System.Drawing.Imaging.ImageFormat.Bmp);
         break;

         case 3 : 
         this.button2.Image.Save(fs, 
            System.Drawing.Imaging.ImageFormat.Gif);
         break;
      }

   fs.Close();
   }
}