2010-11-23 23 views
0

Je travaille dans Silverlight sur une boîte de dialogue de gestion des exceptions. Lorsqu'une exception est levée, la boîte de dialogue affiche des détails sur l'erreur et un bouton permettant à l'utilisateur d'enregistrer le journal des erreurs et de l'envoyer au développeur. Lorsque l'utilisateur clique sur le bouton Save Error Log, un SaveFileDialog apparaît et permet à l'utilisateur de naviguer jusqu'à l'endroit où il veut enregistrer le fichier.Silverlight SaveFileDialog.SelectedFile?

Comment obtenir le chemin d'accès complet (par exemple C:\Folder\logfile.log) du fichier sélectionné? La propriété SafeFileName me donne uniquement le nom de fichier (par exemple logfile.log).

Répondre

3

Vous ne parvenez pas à obtenir le chemin d'accès complet au sein d'une application SL à cause du sandbox. Vous pouvez le faire cependant dans WPF puisque vous avez un accès complet à ce moment-là. Cela ne veut pas dire que vous ne pouvez pas enregistrer le fichier à l'emplacement donné via le Stream exposé cependant. Complétez l'exemple here.

  try 
      { 
       byte[] fileBytes = e.Result as byte[]; 

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

        this.tblError.Text = "File successfully saved!"; 
       } 
      } 
      catch (Exception ex) 
      { 
       this.tblError.Text = "Error getting result: " + ex.Message; 
      } 
+0

Merci! C'est ce dont j'avais besoin! – Entity