2012-04-27 26 views
0

我有一个C#Windows应用程序,并希望用byte []打开标准的Save/Download file对话框。我能做到这一点,我MVC3 Web应用程序使用System.Web.Mvc.Controller下面的代码:C#Web应用程序下载文件对话框

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

我怎样才能在Windows应用程序做到这一点?

+0

是否要强制从MVC3页面下载文件? – 2012-04-27 20:52:33

回答

1

您的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); 
    } 
    } 
} 
+0

@Antonio .... ahhhhh是的。这就说得通了。谢谢 – MikeTWebb 2012-04-27 21:13:23