我想指定文件的虚拟路径,但我无法这样做。
这是我的代码:
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 \电子公文包\ PortFolioContent \ 1个\分配
但它正走这条路
E:\ HOBBYHOMES(E-投资组合)\ HobbyHomesWebApp \ ActivityPostin \图片\电子档案袋\ PortFolioContent \ 1个\作业\ Exhb_1_1.jpg
我不明白为什么这样做。请帮帮我
答案 0 :(得分:2)
尝试string filepath = Server.MapPath("~/... ...jpg");
答案 1 :(得分:0)
您可以使用@ Url.Content(“〜/ Content / Images / YourImageName.png”)
答案 2 :(得分:0)
尝试做这样的事情:
Path.Combine(Server.MapPath("~/"),("ePortfolio\\PortFolioContent\\" + Course_Id + "\\Assignments\\Exhb_" + item.PortfolioID + "_" + item.ChandidateID + ".jpg"));
从理论上讲,它会导致您之前失败的相同答案。在实践中,它可能会产生完全不同的答案。
这里还有一个最近的问题(目前我找不到),它突出显示有时Server.MapPath(“〜/ .. etc ..”)在重写的请求路径上行为不端。您是否正在重写尝试形成此路径的请求?