mvc web api中文件的真实物理路径
本文关键字:真实 路径 文件 web api 中文 mvc | 更新日期: 2023-09-27 18:02:40
我正在使用MVC web api构建示例应用程序。我正在从POST请求中获取文件名。如果我使用下面的代码来获取文件的物理路径,它将返回应用程序文件夹的路径,而不是我的另一个驱动器(例如D: drive)中的文件路径
HttpContext.Current.Server.MapPath("/~" + fileName);
请使用下面的语句
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)
你会得到文件