为什么Directory.CreateDirectory 出错解决方法
的有关信息介绍如下: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 服务器上的指定虚拟路径相对应的物理文件路径。