您的位置首页百科知识

为什么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 ;//所要创建文件夹的名字,实际运用中可为用户注册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 服务器上的指定虚拟路径相对应的物理文件路径。