为什么Directory.CreateDirectory 出错解决方法


为什么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 ;//所要创建文件夹的名字,实际运用中可为用户注册IDstring UserPath = Server.MapPath( MT ).ToString() + \\ + UserDirectory + \\ + ProductsImages ;UserPath=Server.MapPath(UserPath);你用太多个Server.MapPath了,用一个就行了.------解决方案--------------------------------------------------------------解决方案--------------------------------------------------------你使用Server.MapPath有问题,这个只能映射虚拟目录,你先用Server.MapPath( / )取当前虚拟目录的物料目录,然后再加上你的子目录 。------解决方案--------------------------------------------------------UserPath=D:\xxx\MT\TestFileId\ProductsImages返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径 。
【为什么Directory.CreateDirectory 出错解决方法】

    推荐阅读