代码之家  ›  专栏  ›  技术社区  ›  Entity

Silverlight SaveFileDialog.SelectedFile?

  •  0
  • Entity  · 技术社区  · 14 年前

    我正在Silverlight中处理异常处理对话框。当抛出异常时,会弹出一个对话框,其中包含有关错误的详细信息,以及一个允许用户保存错误日志并将其发送给开发人员的按钮。当用户单击 Save Error Log 巴顿,a SaveFileDialog 弹出窗口,让用户浏览到要保存文件的位置。

    如何获得完整路径(例如。 C:\Folder\logfile.log )所选文件的?这个 SafeFileName 属性只提供文件名(例如。 logfile.log ).

    1 回复  |  直到 14 年前
        1
  •  3
  •   Aaron McIver    14 年前

    由于被沙盒包围,无法获取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;  
                }