mvc控制器中的下载文件路径出错

本文关键字:文件 路径 出错 下载 控制器 mvc | 更新日期: 2023-09-27 18:28:45

这是我在索引视图上的操作链接。

@Html.ActionLink("Download File", "Download", new { fileName = Model.OriginalRecordRelativeFilePath })

public FileResult Download(string fileName)
{
     try
     {
          var fs = System.IO.File.OpenRead(Server.MapPath(ConfigurationHelper.IntegrationInterfaceFolderPath + fileName));
     // ConfigurationHelper.IntegrationFolderPath is a path for C:'Data'IntergrationInterface'
     return File(fs, "application/octet-stream", fileName);
 }
 catch
 {
      throw new HttpException(404, "Couldn't find " + fileName);
 }

}

我尝试从C:''Data''IntergrationInterface''fileName下载该文件。但它找不到C:''Data''IntergrationInterface''fileName的路径并抛出异常(Couldnt find fileName)。我可以知道在同一台计算机上运行localhost web服务时,有什么方法可以从本地c下载文件吗?非常感谢。

mvc控制器中的下载文件路径出错

此处不要使用Server.MapPath,而是直接使用文件路径。例如@"C:''Data''IntergrationInterface''"。

目前你正在尝试Server.MapPath(@"C:''Data''IntergrationInterface''file.txt"),这意味着你正在提供一个物理路径,而MapPath方法需要一个虚拟路径。相反,如果你给Server.MapPath("''ABC"),它会返回服务器路径为"C:''inetpub''wwwroot''ABC",这基本上是你的本地服务器路径。