0

我想指定文件的虚拟路径,但我不能这样做。

这是我的代码:

int Course_Id = 1;
int PortfolioID=1;
int ChandidateID=1;

string filepath = Server.MapPath("~/ePortfolio/PortFolioContent/" + Course_Id + "/Assignments/Exhb_" + item.PortfolioID + "_" + item.ChandidateID + ".jpg");

if(System.IO.File.Exists((filepath)))
{                            
    ViewBag.Thumbnail = filepath;
}

当我使用 Server.MapPath 时,它正在从其他路径获取数据:
我的原始路径是:
E:\HOBBYHOMES(E-PORTFOLIO)\HobbyHomesWebApp\ePortfolio\PortFolioContent\1\Assignments
但它采用的是这条路径
E:\HOBBYHOMES( E-PORTFOLIO)\HobbyHomesWebApp\ActivityPostin\Images\ePortfolio\PortFolioContent\1\Assignments\Exhb_1_1.jpg
我不明白为什么这样工作。请帮帮我

4

3 回答 3

3

尝试string filepath = Server.MapPath("~/... ...jpg");

于 2012-05-23T03:08:18.727 回答
0

您可以使用 @Url.Content("~/Content/Images/YourImageName.png")

于 2012-05-23T05:22:17.883 回答
0

尝试做这样的事情:

Path.Combine(Server.MapPath("~/"),("ePortfolio\\PortFolioContent\\" + Course_Id + "\\Assignments\\Exhb_" + item.PortfolioID + "_" + item.ChandidateID + ".jpg"));

从理论上讲,它会导致您之前失败的相同答案。在实践中,它可能会产生完全不同的答案。

这里还有一个最近的问题(我目前找不到),它强调有时 Server.MapPath("~/..etc..") 在重写的请求路径上行为不端。您是否正在重写试图形成此路径的请求?

于 2012-05-23T06:09:35.477 回答