从另一个文件夹中的一个站点创建文件夹

时间:2013-03-17 17:51:39

标签: c# asp.net-mvc

我的网站http://mySite/Uploads/上有一个文件上传文件夹 对于每个用户,我想创建一个新文件夹并将文件保存到其中。它适用于网站访问者/但我也有一个管理网站。员工应该能够在同一目录上上传文件 Directory.CreateDirectory返回一个错误,它无法处理uri地址。  我正在通过"http://mySite/Uploads/UserId"。我错了吗?我应该使用其他机制吗?

3 个答案:

答案 0 :(得分:0)

  我错了吗?

是的,您应该将物理文件夹传递给Directory.CreateDirectory方法而不是网址。例如:

Directory.CreateDirectory(Server.MapPath("~/uploads/UserId"));

Server.MapPath方法应返回如下文件夹:c:\inetpub\wwwroot\mysite\uploads\userid

答案 1 :(得分:0)

您必须使用相对于系统根目录的路径。您可以使用MapPath方法执行此操作。

var uploadsRoot = Server.MapPath("~Uploads");
var userUploadFolder = Path.Combine(UploadsRoot, userId.ToString());
Directory.CreateDirecty(userUploadFolder);

答案 2 :(得分:0)

如果有兴趣的话。我们在两个站点的IIS中创建了虚拟文件夹“uploads”。在iis =>中右键点击您的网站添加虚拟文件夹或不知何故,我的iis不是英文。对两个站点都这样做。它是同一文件夹中的完整路径点,所以我可以使用Server.MapPath("~Uploads");在管理站点我获得http://adminSite/Uploads/,在主站点http://mySite/Uploads/。如果我通过一个地址上传文件,我总是可以通过另一个地址访问它们。