WriteAllBytes Error
本文关键字:Error WriteAllBytes | 更新日期: 2023-09-27 18:17:11
我在WPF
应用程序中使用C#
中的以下代码
我用这个方法保存一个文件到磁盘:
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方法没有重载
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"));
}
}
}
}
正如错误提示的那样,WriteAllBytes没有一个参数的重载。您必须指定要写入的字节以及路径。你已经在你的第一个代码块中设置好了,所以再重复一次:
File.WriteAllBytes(Path.Combine(flg.SelectedPath, table.Title + ".dat"), table.Data);
您缺少一个参数,并且您没有传递数据以写入您的位置。Path.Combine(flg.SelectedPath, table.Title + ".dat")
是一个参数,你忘了传递第二个参数。
File.WriteAllBytes(
Path.Combine(flg.SelectedPath, table.Title + ".dat"),
table.Data
);