我有一个aspx页面将图像上传到文件夹.aspx页面位于一个名为admin的文件夹中。
如果我将aspx页面保留在根目录中,我可以在Image文件夹中上传文件,因为它们都在根目录中。
但当我这样做时,将aspx页面保留在文件夹中,它会显示Could not find a part of the path 'C:\Users\...
那么我如何提供路径,以便我能够从也在文件夹内的页面上传文件夹中的图像。
这是我的代码:
if( fu_subcat.PostedFile.ContentLength>0 )
{
fn =Path.GetFileName(fu_subcat.PostedFile.FileName);
fu_subcat.SaveAs(Server.MapPath("imag/" + fn));
}
修改
将路径映射为:
Could not find a part of the path 'C:\Users\lenovo\Documents\Visual Studio 2010\WebSites\emarket\Admin\imag
但我在emarket中的文件夹为emarket\imag
而不是emarket\Admin\imag
答案 0 :(得分:1)
最好将图像保存在单独的内容文件夹中,然后使用tilda引用相对路径中的图像,例如〜" content / image"
答案 1 :(得分:1)
使用〜将转到应用程序的虚拟根目录,因此Server.MapPath("〜/ imag /...")应该这样做。
答案 2 :(得分:0)
这是因为当您从
调用该代码时/Admin/page.aspx
Server.MapPath返回一个相对于/ Admin /的路径 - 所以最终的路径是/ Admin / imag / ...要从root设置路径,你应该在路径前添加一个/。
必须
fu_subcat.SaveAs(Server.MapPath("/imag/" + fn));
注意/在字符串前面。
或者您也可以添加~tilde
fu_subcat.SaveAs(Server.MapPath("~/imag/" + fn));
指向当前ASP.net应用程序的根目录。如果您的应用程序在虚拟目录中运行并作为全局应用程序的一部分,这将非常有用。