Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从数据库中提取名称/数据并将其用作在asp.net c#中使用server.MapPath()动态创建的我的文件夹名称?_C#_Asp.net_Directory_Server.mappath - Fatal编程技术网

如何从数据库中提取名称/数据并将其用作在asp.net c#中使用server.MapPath()动态创建的我的文件夹名称?

如何从数据库中提取名称/数据并将其用作在asp.net c#中使用server.MapPath()动态创建的我的文件夹名称?,c#,asp.net,directory,server.mappath,C#,Asp.net,Directory,Server.mappath,我使用AjaxFileUpload上传多个图像文件。现在我想将上传的图像存储在rootfolder>子文件夹中 根文件夹是以用户的名称命名的。 根文件夹是通过获取已登录用户的会话动态创建的 像这样: string username = Session["username"].ToString(); 我可以创建此文件夹并在其中保存图像。但我想把它保存在子文件夹中 子文件夹也是动态创建的,但这次我必须从数据库中获取值(id),并用该id名称命名文件夹。(这是为了我可以参考数据库) 我知道如何使用S

我使用AjaxFileUpload上传多个图像文件。现在我想将上传的图像存储在rootfolder>子文件夹中

根文件夹是以用户的名称命名的。 根文件夹是通过获取已登录用户的会话动态创建的 像这样:

string username = Session["username"].ToString();
我可以创建此文件夹并在其中保存图像。但我想把它保存在子文件夹中

子文件夹也是动态创建的,但这次我必须从数据库中获取值(id),并用该id名称命名文件夹。(这是为了我可以参考数据库)

我知道如何使用Server.MapPath()创建新文件夹; 下面是它的简要代码

using System.IO
if (Directory.Exists(Server.MapPath(uploadPath))) return;
else Directory.CreateDirectory(Server.MapPath(uploadPath));
其中uploadPath是我要动态创建的文件夹的名称

但是,如何将子文件夹也包含在我的Server.MapPath()中,从而使我的路径成为rootfolder/子文件夹

让问题变得易懂的小例子。 我是卖家。我已经在网上发布了4个广告。 现在,当我张贴我的第五个广告,我想包括许多图像。 这些图像应保存在文件夹中

卖方/5/imagename.jpg。 (其中Seller是用户名(主文件夹),5是数据库中的广告ID和子文件夹的名称)

我该怎么做?请帮忙。
据我所知,我正在使用asp.net c#

创建文件夹和子文件夹不能只执行一条语句,因为需要先创建文件夹

你有你需要的所有代码,你只需要重复它。检查主文件夹(用户名)是否存在。如果没有创建,则检查子文件夹是否存在。如果没有,就创建它


只要按照这个逻辑去做,你就会做好准备

用户路径。组合以添加根目录和用户id:

   var userPath = Path.Combine(uploadPath,userID) 
这是创建所需内容最安全的方法。
Directory.CreateDirectory
方法将根据需要创建所有子文件夹:

 var userPath = Path.Combine(uploadPath,userID) 
if (Directory.Exists(Server.MapPath(userPath))) return;
else Directory.CreateDirectory(Server.MapPath(userPath));

谢谢你,戴夫。将对此进行操作。:-)创建新文件夹很好。。我想用数据库中的数据(Id号)命名新创建的文件夹。还有什么我能做到的吗?这是我第一次做这个。所以我被困在这里了,当然。只需将数据转换为字符串,并将其用作文件夹名称。有几种方法可以做到这一点,您可以在Google上获得大量的示例,但最简单的方法是
advertId.ToString()
String.Format(“{0}”,advertId)
。如果您只是在转换整数,请执行第一个操作;如果您需要将字符串与其他任何内容(例如,
string)连接,请执行第二个操作。Format(“AdvertId{0}”,AdvertId)
将产生
advertId5
作为输出文件夹名称,并为您节省在多行代码中进行连接的麻烦(和开销)。