当userA上传文件时,他的文件将上传到folderA,当userB,上传到folderB,依此类推。 ASP.NET中的角色/配置文件。文件夹将预先存在。任何人吗?
答案 0 :(得分:5)
你可能想要手动编码。 ASP.NET管理用户文件没有任何内在功能。但是,这样做的代码应该相对容易。假设用户名是唯一的且永远不会更改,您可以将用户名与路径(使用Path.Combine)组合并上传到该位置。我也会锁定该位置,以便其他人无法访问它。
答案 1 :(得分:3)
我过去做过的方法是使用基本上传文件夹(比如上传),然后在该文件夹中使用来自数据库的用户ID创建一个文件夹。因此,对于用户ID为145的用户,结构将为.. \ uploads \ 145。
我的代码所做的第一件事是检查文件夹是否存在,如果没有,则在上传之前调用Directory.Create()(或其他语法)来创建文件夹。
您可能会发现有用的更多信息:我还使用GUID重命名该文件,如果他们上传2个具有相同名称的文件,则可以避免名称冲突。缺点是您通常需要维护一个包含原始文件名和物理(GUID)文件名的表。
答案 2 :(得分:0)
您可以检查文件夹是否存在并为用户创建(如果该文件夹不存在),但这会对此产生安全隐患。您可能还想尝试将数据存储在数据库中并将其绑定到用户......这取决于您猜测用户上传的内容。
答案 3 :(得分:0)
有几种方法可以做到这一点:
使用表单身份验证
如果使用表单身份验证,则可以设置一种约定,其中用户的用户名或ID可以作为服务器中用户可以上载文件的路径的基础。请注意,您的用户无法直接访问该文件夹:用户也应该能够通过Web应用程序从服务器下载文件。
使用Windows身份验证
如果您使用Windows(例如,ActiveDirectory)身份验证,则可以通过Web应用程序为用户提供对文件夹的物理位置的访问权限。
P.S。 - 很高兴在这里见到Marlon!