Question

Je travaille dans Silverlight sur une boîte de dialogue de gestion des exceptions. Quand une exception est levée, la boîte de dialogue apparaît avec des détails sur l'erreur, et un bouton qui permet à l'utilisateur d'enregistrer le journal des erreurs et 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 là où (s) qu'il veut enregistrer le fichier.

Comment puis-je obtenir le chemin complet (par exemple C:\Folder\logfile.log) du fichier sélectionné? La propriété SafeFileName ne me donne que le nom du fichier (par exemple logfile.log).

Était-ce utile?

La solution

Vous ne pouvez pas obtenir le chemin complet dans une application SL en raison d'être sandbox. Vous pouvez le faire toutefois dans WPF puisque vous avez un accès complet à ce moment-là.

Cela ne signifie pas que vous ne pouvez pas enregistrer le fichier à l'emplacement donné par le Stream exposé bien. Exemple complet .

            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;  
            }  
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top