vb.net 如何使用保存文件对话框保存文件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21719126/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 16:45:05  来源:igfitidea点击:

How to save the file using save file dialog box

c#vb.net

提问by Dolphin

I want to save any type of file using save file dialog box... My requirement is based upon the selection of list box(it contain various type of file like .txt,.xls) i want to provide download option using save file dialog box...if user got select .txt file the file store in text format based on the file extension i want to store file...Those file i want to save same to same file copy into the particular location

我想使用保存文件对话框保存任何类型的文件...我的要求是基于列表框的选择(它包含各种类型的文件,如 .txt、.xls)我想使用保存文件对话框提供下载选项框...如果用户选择 .txt 文件,则根据我要存储的文件扩展名以文本格式存储文件...我想将这些文件保存到相同的文件副本到特定位置

pl z help me

请帮助我

Dim digresult As DialogResult = MessageBox.Show("Do you want to download ? ", "View", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If digresult = Windows.Forms.DialogResult.Yes Then
           downlddialog.Filter = "All files (*.*)|*.*"
           downlddialog.Title = "Save a file"
           downlddialog.RestoreDirectory = True
           downlddialog.OverwritePrompt = True
           downlddialog.ShowDialog()
           Dim dr As String = downlddialog.FileName

回答by Suraj

        System.Windows.Forms.SaveFileDialog saveFileDialog1;
        saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
        DialogResult dr=  saveFileDialog1.ShowDialog();
        if (dr==DialogResult.OK)
        {
           string filename = saveFileDialog1.FileName;
           //save file using stream.
        }


you can use this code this code is in C# instead of MessageBox.Showuse System.Windows.Forms.SaveFileDialog


您可以使用此代码此代码在 C# 中而不是MessageBox.Show使用System.Windows.Forms.SaveFileDialog

回答by Keshavdas M

You can pull out the file extension and then appropriate file writing logic for particular file extension see sample code below,

您可以提取文件扩展名,然后为特定文件扩展名提取适当的文件写入逻辑,请参阅下面的示例代码,

SaveFileDialog oSaveFileDialog = new SaveFileDialog();
            oSaveFileDialog.Filter = "All files (*.*) | *.*";
            if (oSaveFileDialog.ShowDialog() == DialogResult.OK)
            {
                string fileName = oSaveFileDialog.FileName;
                string extesion = Path.GetExtension(fileName);
                switch (extesion)
                {
                    case ".txt"://do something here 
                        break;
                    case ".xls"://do something here 
                        break;
                    default://do something here
                        break;
                }
            }    

回答by Ofir

This will do the job...

这将完成工作......

the filter property is optional - it just if you want the user save a specific file type

filter 属性是可选的 - 如果您希望用户保存特定的文件类型

VB:

VB:

// Displays a SaveFileDialog so the user can save the Image
      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 through a FileStream created by
         // the OpenFile method.
         System::IO::FileStream ^ fs = 
            safe_cast<System::IO::FileStream*>(
            saveFileDialog1->OpenFile());
         // Saves the Image in the appropriate ImageFormat based on
         // 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();
      }

C#

C#

// Displays a SaveFileDialog so the user can save the Image
   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();
   }