VS 2012& IIS Express。无法找到路径的一部分' C:\ Program Files(x86)\ IIS Express \〜\ MyPics \ My.jpg'

时间:2013-04-07 14:53:24

标签: c# visual-studio-2012 iis-express

我正在使用VS 2012开发Asp.Net MVC 4应用程序。在本地运行时的应用程序使用IIS Express作为Web服务器。我在尝试访问作为我的解决方案一部分的文件时遇到问题。我有以下行动方法:

public FileContentResult GetImage()
        {
            byte[] imageByte = System.IO.File.ReadAllBytes(@"/MyPics/My.jpg");
            string contentType = "image/jpeg";

            return File(imageByte, contentType);
        }

在第一行中,我收到以下错误:

Could not find a part of the path 'C:\Program Files (x86)\IIS Express\~\MyPics\My.jpg'

我知道上述路径不正确,但我无法理解为解决此问题应该提供哪条路径。

此致 Pawan Mishra

1 个答案:

答案 0 :(得分:9)

您可以使用Server.MapPath()来获取如下所示的实际目录:

byte[] imageByte = System.IO.File.ReadAllBytes(Server.MapPath("~/MyPics/My.jpg"));

有些人主张使用HostingEnvironment.MapPath()代替:What is the difference between Server.MapPath and HostingEnvironment.MapPath?