Silverlight SaveFileDialog - 设置默认文件名

Posted

技术标签:

【中文标题】Silverlight SaveFileDialog - 设置默认文件名【英文标题】:Silverlight SaveFileDialog - set Default File Name 【发布时间】:2011-11-29 19:49:15 【问题描述】:

我目前正在从 URL 读取流。并将其保存为客户端上的文件。 我知道 Silverlight 4 不支持 SaveFileDialog 上的默认文件名。

有没有人找到解决方法或某种方法将 FileName 注入 Stream?

任何解决方法都可以设置文件名。

代码:

    public void ClientOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    
       using (var file = Save.OpenFile())
       
           CopyStream(e.Result, file);
        
    

    public static void CopyStream(Stream input, Stream output)
    
        var buffer = new byte[8 * 1024];
        int length;
        while ((length = input.Read(buffer, 0, buffer.Length)) > 0)
        
            output.Write(buffer, 0, length);
        
     

【问题讨论】:

现在这可能不会有太大帮助,但是 Silverlight 5 SaveFileDialog 支持默认文件名,所以当它发布时它会解决你的问题。 【参考方案1】:
SaveFileDialog dialog = new SaveFileDialog();
dialog.GetType().GetMethod("set_DefaultFileName").Invoke(dialog, new object[]  "FileName.ext" );

为我工作

【讨论】:

这对我有用,而无需更改 silverlight 版本。谢谢盖茨(希望你是真实的;-)) 当我尝试在 Silverlight 4 上执行此操作时收到安全警告。这是预期的结果吗?

以上是关于Silverlight SaveFileDialog - 设置默认文件名的主要内容,如果未能解决你的问题,请参考以下文章

缺少 Silverlight“业务应用程序”模板

SharpDevelop with Silverlight

silverlight 2.0 Beta1 下载

安装silverlight失败原因是啥

在打开silverlight项目之前,您需要安装最新的Silverlight开发人员运行时

Silverlight之我见