c# - 如何在 C# 中使用 SaveFileDialog 将字节数组保存为磁盘上的 png 文件?

标签 c# silverlight

<分区>

基本上,我有一个程序可以从我的本地计算机保存图像。我以大尺寸预览此图像。我在此预览弹出窗口上有另存为按钮。我的问题是,图像保存为 byte[],如何使用 SaveFileDialog 将 byte[] 保存为 png 文件?

谢谢,

问题就这样解决了;

var saveFileDialog = new SaveFileDialog
                                 {
                                     DefaultExt = ".png",
                                     DefaultFileName = this.ViewDetailSource.ManagedEntityName + " Image",
                                     FilterIndex = 1,
                                     Filter = "All Files|*.*"
                                 };

        bool? result = saveFileDialog.ShowDialog();

        if (result.HasValue && result.Value)
        {
            using (var filestream = saveFileDialog.OpenFile())
            {
                filestream.Write(this.imagecapableentity.EntityImage, 0, this.imagecapableentity.EntityImage.Length);
            }
        }

EntityImage是byte[]

谢谢大家

最佳答案

SaveFileDialog 并不用于实际保存文件,而是用于收集有关创建文件过程的元信息。即,它将帮助您收集文件路径以及用户是否取消了保存过程。

收集文件路径并知道用户可以保存文件后,您必须实际使用 File 类来创建文件:File.WriteAllBytes(...)是一个很好的方法。

关于c# - 如何在 C# 中使用 SaveFileDialog 将字节数组保存为磁盘上的 png 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19184498/

相关文章:

c# - 如何使用 ASP.NET MVC 5 的 UserManager 重置密码

c# - 基于表单的身份验证

silverlight - 谁能告诉我 "dataviz"是什么?

wpf - 需要一个使用 MVVM 级联组合框的简单示例

c# - C#中的双引号字符串替换

c# - 循环变量上的闭包的正确语义是什么?

c# - 双 AND 子句

.net - Silverlight:TargetType 的属性类型无效 ="{x:Type TextBlock}"

c# - backgroundworker 中的多个异步 webclient 调用 (Silverlight 4)

wpf - 水平拉伸(stretch) WPF Canvas