如何将字节数组从silverlight保存到文件中

时间:2010-02-01 15:53:50

标签: wcf silverlight file silverlight-3.0

我有一个连接到WCF服务的SL 3应用程序。此服务检索字节数组。我想使用FileStream将该数组保存为pdf文件。问题是,当重新检索字节数组时,在尝试显示SaveFileDialog时会出现异常,因为该操作是由回调方法启动的,而不是来自用户操作,似乎。 我想知道是否有任何解决方法。我已经有了字节数组,现在我需要将它保存到用户指定的位置。不管怎样... 任何线索?

提前致谢。

1 个答案:

答案 0 :(得分:6)

您是否连接了异步方法调用的方法已完成事件?见这个

http://www.silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3.aspx

在回调方法中,您可以实现写入文件的逻辑 - 首先打开对话框,然后获取指向文件流的指针,如下所示。

       try 
       {
           byte[] fileBytes = //your bytes here 
           SaveFileDialog dialog=new SaveFileDialog();

           //Show the dialog              
           bool? dialogResult = this.dialog.ShowDialog();  

           if (dialogResult!=true) return;


            //Get the file stream

            using ( Stream fs = ( Stream )this.dialog.OpenFile() )  
            {  
                fs.Write( fileBytes, 0, fileBytes.Length );  
                fs.Close();  

                //File successfully saved
            }  
        }  
        catch ( Exception ex )  
        {  
            //inspect ex.Message  
        }