IIS上的Server.MapPath()路径错误

nol*_*lan 5 asp.net iis

我正在尝试将图像上传到名为的文件夹 ~/Avatars/.

我的项目位于VS2010项目文件夹`C:/ Projects/MyProject中.

当我尝试获取Avatars文件夹的物理路径时

Server.MapPath("/Avatars")
Run Code Online (Sandbox Code Playgroud)

它总是回归

C:\inetpub\wwwroot\Avatars 
Run Code Online (Sandbox Code Playgroud)

代替

C:\Projects\MyProject\Avatars.
Run Code Online (Sandbox Code Playgroud)

当我在VS2010 开发服务器上运行项目时,它工作正常.

任何人都可以帮助我如何获得IIS中的实际路径

Mrc*_*ief 3

看起来您正在部署到 IIS,并且这是部署的默认文件夹。当您在本地运行时,开发服务器会在您的本地文件夹中运行。

你需要的是Server.MapPath("~/Avatars")Server.MapPath("Avatars")。另外,请确保当您部署到 IIS 时,您的站点正在部署到C:\inetpub\wwwroot\My Project\.