我在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
名为Table
,Data
属性为二进制。
这是给出的方法 错误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"));
}
}
}
}
答案 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
);