【问题标题】:Server.MapPath - Physical path given, virtual path expectedServer.MapPath - 给定物理路径,预期虚拟路径
【发布时间】:2011-06-29 17:03:25
【问题描述】:

我正在使用这行代码:

var files = Directory.GetFiles(Server.MapPath("E:\\ftproot\\sales"));

在文件夹中查找文件,但是我收到错误消息说

"物理路径给定但虚拟路径 预期”。

对在 C# 中使用 System.IO 足够新,所以我想知道是否可以输入物理路径来执行此操作?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    如果您已经知道您的文件夹是:E:\ftproot\sales,那么您不需要使用 Server.MapPath,如果您只有一个相对虚拟路径,则需要最后一个,例如 ~/folder/folder1 并且你想知道磁盘中的真实路径...

    【讨论】:

    • 谢谢你,我不知道。你对我会使用什么有什么建议吗?
    • 这取决于,为什么你有 E:\\ftproot\\sales 硬编码?如果它是固定的,只是你只做 GetFiles("E:\\ftproot\\sales")... 我无论如何都会在 web.config 中有那个路径,所以没有魔法字符串,更容易改变它并在没有的情况下找到它重建...
    • 谢谢@DavidePiras,这对我很有用;)
    【解决方案2】:
    var files = Directory.GetFiles(@"E:\ftproot\sales");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多