Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows C#Web应用程序下载文件对话框_Windows_File_Dialog_Save - Fatal编程技术网

Windows C#Web应用程序下载文件对话框

Windows C#Web应用程序下载文件对话框,windows,file,dialog,save,Windows,File,Dialog,Save,我有一个C#Windows应用程序,想用一个字节[]打开标准的保存/下载文件对话框。我可以使用System.Web.Mvc.Controller在我的MVC3 Web应用程序中执行此操作,代码如下: FileStream fs = = System.IO.File.OpenRead(fileName); File(fs, "application/zip", fileName.Substring(fileName.LastIndexOf('\\') + 1)); 如何在Windows应用程序

我有一个C#Windows应用程序,想用一个字节[]打开标准的保存/下载文件对话框。我可以使用System.Web.Mvc.Controller在我的MVC3 Web应用程序中执行此操作,代码如下:

FileStream fs =  = System.IO.File.OpenRead(fileName);
File(fs, "application/zip", fileName.Substring(fileName.LastIndexOf('\\') + 1));

如何在Windows应用程序中完成此操作?

您的MVC应用程序没有打开该对话框,浏览器打开了。在Winforms应用程序中,您可以使用:

Byte[] data;
/// initialize data

using (SaveFileDialog dialog = new SaveFileDialog())
{
  dialog.Filter = "zip files (*.zip)|*.zip|All files (*.*)|*.*";
  dialog.FilterIndex = 2;
  dialog.RestoreDirectory = true;
  if (dialog.ShowDialog() == DialogResult.OK)
  {
    using (FileStream fs = new FileStream(dialog.FileName, FileMode.CreateNew))
    {
      fs.Write(data, 0, data.Length);
    }
  }
}

是否要强制从MVC3页面下载文件?