【问题标题】:Files doesn't get created and no error文件没有被创建并且没有错误
【发布时间】:2012-11-13 01:17:24
【问题描述】:

好的,所以我有这个代码:

 Byte[] bin = p.GetAsByteArray();
 File.WriteAllBytes(@"C:\Report.xlsx", bin);

现在p 是一个ExcelPackage 对象,它是一个用于操作xlsx 文件的类。

虽然p 有数据,但以下命令不会创建文件,也不会发生错误。

我相信这与我在 Windows 7 上运行它有关,但我只是通过 VS 进行调试。

我正在使用 .Net 4.5, 有谁知道可能是什么问题?

【问题讨论】:

  • 我非常怀疑File.WriteAllBytes 是否默默地失败了。它甚至到达那条线吗?您的调试向您展示了什么?如果是 IO 的问题,那么数据的来源是无关紧要的,您应该能够在一个简短但完整的控制台应用程序中看到相同的内容,该应用程序只是将几个随机字节写入同一个文件。
  • Win10 也有同样的问题。我尝试建议尝试另一个位置并且它有效。 WriteAllBytes 在尝试写入当前目录(不是 C:\

标签: c# .net winforms windows-7 epplus


【解决方案1】:

您没有显示足够的代码来准确定位问题...很可能是以下问题之一:

  • 安全

    在较新的 Windows 版本(如 7)中,您不能再将文件等直接存储在 C:\ 上。

  • p 和/或bin 不在允许保存的状态。

编辑 - 根据评论:

您可以使用Environment.SpecialFolder 中的任何ApplicationData / CommonApplicationData / LocalApplicationData 调用Environment.GetFolderPath ()...

MSDN 参考:http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

【讨论】:

  • 这很可能是一个安全问题。那是我的选择吗?我可以保存到哪里?
  • @eric.itzhak 扩展了我的答案 :-)
猜你喜欢
  • 2022-01-02
  • 2022-10-21
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 2017-09-20
  • 2019-12-04
  • 2021-09-29
  • 1970-01-01
相关资源
最近更新 更多