从Silverlight中的SaveFileDialog访问实际目录路径

从Silverlight中的SaveFileDialog访问实际目录路径,silverlight,reflection,savefiledialog,security-critical,Silverlight,Reflection,Savefiledialog,Security Critical,我对Silverlight应用程序和SaveFileDialog有问题。 基本上,我使用SaveFileDialog是为了从用户路径中获取他想要保存文件的位置和文件名。然后我将该路径传递给其他应用程序的API(我在提升信任模式下使用Silverlight 5),该应用程序为我创建文件 当用户在保护模式下使用IE8时会出现问题 SaveFileDialog.SafeFileName只返回文件名,而不是路径,当我尝试使用FileInfo获取该路径时,无论用户选择了什么,我都会得到桌面 我尝试了不同的

我对Silverlight应用程序和SaveFileDialog有问题。 基本上,我使用SaveFileDialog是为了从用户路径中获取他想要保存文件的位置和文件名。然后我将该路径传递给其他应用程序的API(我在提升信任模式下使用Silverlight 5),该应用程序为我创建文件

当用户在保护模式下使用IE8时会出现问题

SaveFileDialog.SafeFileName只返回文件名,而不是路径,当我尝试使用FileInfo获取该路径时,无论用户选择了什么,我都会得到桌面

  • 我尝试了不同的方法,包括使用SaveFileDialog.OpenFile中的流只向文件中写入一个字节,但没有成功

  • 我试图使用反射访问SaveFileDialog.File.DirectoryName的私有成员-属性标记为[SecurityCritical],因此我无法访问

  • 我现在正计划尝试使用js调用本机浏览器保存对话框以实现这一点,但我不确定它是否会与Silverlight对话框有所不同

  • 在这个问题上,有谁比我更聪明或更有经验


    谢谢

    如果有办法做到这一点,我会非常惊讶。事实上,如果有办法的话,我可能会认为这是一个安全漏洞。据我所知,您最好希望找到一种检测受保护模式并警告用户您的应用程序在受保护模式下无法正常工作的方法。顺便问一下,是否有任何方法可以将打开的
    而不是文件名传递给您的其他应用程序?很好的一点,但不幸的是没有…我同意这是一个安全漏洞,但仅用于路径查找…如果我知道虚拟化路径已打开,并且这些路径是如何生成的,这不是安全问题,我认为这是唯一的方法…目前不知道如何。。。