2012-04-27 24 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