WCF – How to save the byte array from Silverlight to the file

I have an SL 3 application that connects to a WCF service. This service retrieves a byte array. I want to save the array as a pdf file using FileStream. The problem is that when re-retrieving the word When the section array, there will be an exception when trying to display the SaveFileDialog because the operation is initiated by the callback method, not from the user operation, it seems.
I want to know if there is any workaround. I already have the byte array ,Now I need to save it to the location specified by the user. Anyway…
Any clues?

Thanks in advance.

Are you connected to an asynchronous method call The method has completed the event? See this

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

In the callback method, You can implement the logic of writing a file-first open the dialog box, and then get a pointer to the file stream, as shown below.

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
}

I have an SL 3 application that connects to a WCF service. This service retrieves byte arrays. I want to use FileSt ream saves the array as a pdf file. The problem is that when retrieving the byte array, an exception occurs when trying to display the SaveFileDialog, because the operation is initiated by the callback method, not from the user operation, it seems.
I want to know if there is any workaround. I already have the byte array and now I need to save it to a user-specified location. Anyway…
Any clues?

Thanks in advance.

Are you connected to the asynchronous method call method completed event? See this

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

In the callback method, You can implement the logic of writing a file-first open the dialog box, and then get a pointer to the file stream, as shown below.

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
}

WordPress database error: [Table 'yf99682.wp_s6mz6tyggq_comments' doesn't exist]
SELECT SQL_CALC_FOUND_ROWS wp_s6mz6tyggq_comments.comment_ID FROM wp_s6mz6tyggq_comments WHERE ( comment_approved = '1' ) AND comment_post_ID = 4061 ORDER BY wp_s6mz6tyggq_comments.comment_date_gmt ASC, wp_s6mz6tyggq_comments.comment_ID ASC

Leave a Comment

Your email address will not be published.