找不到ASP.net路径的一部分

时间:2016-01-19 12:10:44

标签: c# asp.net

我创建了一个网站,其中有一个名为Zipfile的文件夹,我想从中找到要下载的LSC.exe文件。当我点击路径时,它会提供以下异常System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files\IIS Express\~\Zipfile\LSC.exe'. 请提出任何建议。

控制器

[HttpGet]
public FileResult downloadFile()
{
    byte[] fileBytes = System.IO.File.ReadAllBytes("~/Zipfile/LSC.exe");
    string fileName = "SkypeSetup.exe";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

3 个答案:

答案 0 :(得分:1)

您应该使用 Server.MapPath 映射到应用程序目录下的文件。

参考:HttpServerUtility.MapPath Method

答案 1 :(得分:1)

你需要添加Server.MapPath(exe路径) 为了获得地图到它的相对路径

  byte[] fileBytes = System.IO.File.ReadAllBytes(Server.MapPath("~/Zipfile/LSC.exe"));

答案 2 :(得分:1)

尝试以下代码:

public FileResult downloadFile()
    {
     byte[] fileBytes = System.IO.File.ReadAllBytes(Server.MapPath("~/Zipfile/LSC.exe"));
        string fileName = "SkypeSetup.exe";
        return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
    }