mvc web api中文件的真实物理路径

本文关键字:真实 路径 文件 web api 中文 mvc | 更新日期: 2023-09-27 18:02:40

我正在使用MVC web api构建示例应用程序。我正在从POST请求中获取文件名。如果我使用下面的代码来获取文件的物理路径,它将返回应用程序文件夹的路径,而不是我的另一个驱动器(例如D: drive)中的文件路径

HttpContext.Current.Server.MapPath("/~" + fileName);

mvc web api中文件的真实物理路径

请使用下面的语句

HttpContext.Current.Request.PhysicalApplicationPath + "/" + fileName

我建议你这样做:

1. Create a application setting:
      <appSettings >
        <add key="FolderPath" value="D:'"/>
      </appSettings>
2. Change your code:
    string root= ConfigurationManager.AppSettings["FolderPath"].ToString();
    var physicalFilePath =root + fileName;

HttpContext.Current.Server.MapPath总是给出从目录根到当前目录的绝对路径。

如果您希望从指定目录读取文件:

  • 决定文件的公共路径,比如D:'
  • 将此路径放到web。配置文件在应用程序的设置,并有一个名称,说'FileDirectory'。
  • FileDirectory的路径(从appsettings中读取后)和您的文件结合起来,说Path.Combine(FileDirectory, file)

你会得到文件