WriteAllBytes错误

时间:2013-06-06 15:51:47

标签: c# wpf

我在C#应用

中使用WPF中的以下代码

我正在使用此方法将一个文件保存到磁盘:

    private void executeSaveAttachment(object parameter)
    {
        SaveFileDialog dlg = new SaveFileDialog();
        {
            dlg.AddExtension = true;
            dlg.DefaultExt = "xlsx";
            dlg.Filter = "New Excel(*.xlsx)|*.*";
            foreach (var table in Table)
            {
                if (dlg.ShowDialog() ?? false)
                {

                    File.WriteAllBytes(dlg.FileName, table.Data);

                }
            }
        }
    }

我正在尝试使用此方法将多个文件存储到用户可以选择的位置,但是从Title属性中提供默认文件名并添加.xlsx扩展名。 class名为TableData属性为二进制。

这是给出的方法 错误4方法'WriteAllBytes'没有重载需要1个参数

private void executeSaveAttachments(object parameter)
        {

            {
                System.Windows.Forms.FolderBrowserDialog flg = new System.Windows.Forms.FolderBrowserDialog();


                foreach (var table in Table)
                {
                    if (flg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {

                        File.WriteAllBytes(Path.Combine(flg.SelectedPath,  table.Title + ".dat"));

                    }
                }
            }
        }               

2 个答案:

答案 0 :(得分:3)

如错误所示,WriteAllBytes没有一个参数的重载。您必须指定要写入的字节以及路径。你在第一个街区就可以了,所以再简单一遍:

File.WriteAllBytes(Path.Combine(flg.SelectedPath,  table.Title + ".dat"), table.Data);

答案 1 :(得分:2)

您缺少参数,并且您没有传递数据来写入您的位置。 Path.Combine(flg.SelectedPath, table.Title + ".dat")是一个参数,你忘了传递第二个参数。

File.WriteAllBytes(
    Path.Combine(flg.SelectedPath,  table.Title + ".dat"),
    table.Data
);