在另一个站点中从一个站点创建文件夹';s文件夹
本文关键字:文件夹 站点 创建 一个 另一个 | 更新日期: 2023-09-27 18:04:15
我的站点http://mySite/Uploads/
上有一个用于上传文件的文件夹对于每个用户,我想创建一个新的文件夹并将文件保存到其中。它适用于网站访问者/但我也有一个管理网站。员工应该能够在同一目录上传带有它的文件
Directory.CreateDirectory返回一个错误,即它无法处理uri地址。我正在通过"http://mySite/Uploads/UserId"
。我错了吗?我应该使用其他机制吗?
我错了吗?
是的,您应该向Directory.CreateDirectory
方法传递一个物理文件夹,而不是一个url。例如:
Directory.CreateDirectory(Server.MapPath("~/uploads/UserId"));
Server.MapPath
方法应该返回如下文件夹:c:'inetpub'wwwroot'mysite'uploads'userid
。
必须使用相对于系统根的路径。您可以使用MapPath
方法来完成此操作。
var uploadsRoot = Server.MapPath("~Uploads");
var userUploadFolder = Path.Combine(UploadsRoot, userId.ToString());
Directory.CreateDirecty(userUploadFolder);
如果有人感兴趣。我们在两个站点的IIS中都进行了虚拟文件夹"上载"。右键单击你的网站iis=>添加虚拟文件夹,或者不知怎么的,我的iis不是英文的。对两个站点都这样做。并且它的完整路径指向同一个文件夹,所以我可以使用Server.MapPath("~Uploads")
;在管理站点我得到http://adminSite/Uploads/
,在主站点它是http://mySite/Uploads/
。如果我通过一个地址上传文件,我就可以通过另一个地址访问它们。