为什么Directory.CreateDirectory 出错
string UserDirectory = "TestFileId ";//所要创建文件夹的名字,实际运用中可为用户注册ID
string UserPath = Server.MapPath( "MT ").ToString() + "\\ " + UserDirectory + "\\ " + "ProductsImages ";
UserPath=Server.MapPath(UserPath);
if (!System.IO.Directory.Exists(UserPath)) //如果文件夹不存在则创建
{
Directory.CreateDirectory(UserPath);
}
----------
System.Web.HttpException: “D:\xxx\MT\TestFileId”不是有效的虚拟路径。 在 System.Web.VirtualPath.Create(String virtualPath, VirtualPathOptions options) 在 System.Web.HttpServerUtility.MapPath(String path) 在 Dhtml.btnCreate_Click(Object sender, EventArgs e) 位置 d:\xxx\MT\default.aspx.cs:行号 177
明明D:\xxx\MT\TestFileId路径存在呀
------解决方案--------------------你应该是在这句就出错了吧:
Server.MapPath( "MT ")
------解决方案--------------------MT是虚拟目录吗,试试这些:
Server.MapPath( "/ ")
Server.MapPath( "~ ")
------解决方案--------------------string UserDirectory = "TestFileId ";//所要创建文件夹的名字,实际运用中可为用户注册ID
string UserPath = Server.MapPath( "MT ").ToString() + "\\ " + UserDirectory + "\\ " + "ProductsImages ";
UserPath=Server.MapPath(UserPath);
你用太多个Server.MapPath了,用一个就行了.
------解决方案--------------------断点调度..总能找到你要的...
------解决方案--------------------你使用Server.MapPath有问题,这个只能映射虚拟目录,
你先用Server.MapPath( "/ ")取当前虚拟目录的物料目录,然后再加上你的子目录。
------解决方案--------------------提示什么?
------解决方案--------------------UserPath=D:\xxx\MT\TestFileId\ProductsImages
返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
public string MapPath (
string path
)
string fname =Server.MapPath(UserPath)+ "\\preview.html " ;
????用错了!