2010-11-23 6 views
0

私は例外処理ダイアログでSilverlightで作業しています。例外がスローされると、ダイアログにエラーの詳細がポップアップ表示され、ユーザーがエラーログを保存して開発者に送信できるボタンが表示されます。ユーザーがSave Error Logボタンをクリックすると、SaveFileDialogがポップアップし、ユーザーはファイルの保存先を参照できます。Silverlight SaveFileDialog.SelectedFile?

選択したファイルの完全なパス(例:C:\Folder\logfile.log)を取得するにはどうすればよいですか? SafeFileNameプロパティはファイル名のみを表示します(例:logfile.log)。

答えて

3

サンドボックス化されているため、SLアプリケーション内で完全なパスを取得することはできません。あなたはその時点で完全なアクセス権を持っているので、WPF内でこれを行うことができます。

これは、露出されたStreamでファイルを指定の場所に保存することはできません。完全な例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

ありがとうございます!それは私が必要なものです! – Entity