2010-02-01 31 views
4

我有一个连接到WCF服务的SL 3应用程序。该服务检索一个字节数组。我想使用FileStream将该数组保存为pdf文件。问题是,当字节数组被回想起来时,当试图显示SaveFileDialog时,我得到一个异常,因为这个动作是由回调方法启动的,而不是来自用户动作。 我想知道是否有任何解决方法。我已经有了字节数组,现在我需要将它保存到用户指定的位置。无论如何... 任何线索?如何将字节数组保存到silverlight文件中

在此先感谢。

回答

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 
     } 
+0

嗨amazedsaint,我不知道什么是错的。我评论,然后取消注释了一些代码,然后对话框显示出来了。 但是在那之后,我写了一些字节数组有点麻烦,但是你的回答是解决方案。非常感谢!! –

相关问题