如何在ASP.NET中使用登录系统上传特定文件夹?

Son*_*nül 1 c# asp.net session login file-upload

我将创建一个这样的ASP.NETWeb应用程序;

  1. 用户可以自己登录usernamepassword.
  2. 用户可以提交upload自己的文件夹(我手动定义文件夹),也可以查看自己页面中的所有文件,并可以下载.

我想我可以使用这样的架构;

  1. 我应该使用ASP.NET Login Controls,我们都同意这一点.但我也应该使用C:\ Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe和ASP.NET Web site Administration Tool?究竟做了aspnet_regsql.exe什么?怎么Administration Tool办?它们是(登录控件+ aspnet_regsql.exe +管理工具)我只需要创建用户登录系统吗?
  2. 对于文件上传,我认为使用File Upload控件.然后,例如; 如果我有一个用户"A",文件夹应该是http://ourserver/A.我不知道如何将文件上传到特定文件夹.如何向用户显示他们自己上传的文件?(另外用户应该下载它们)有没有asp.net控制这样做?

编辑:我更喜欢一步一步的解释而不是给出一些代码.我想了解这些应用程序在做什么?

Ham*_*ein 5

1)如果你运行regsql工具,它将弹出一个屏幕,询问一些sql信息,然后创建一组相对于成员资格等的表.如果你启动一个基本的MVC 3应用程序,它带有一个帐户控制器,登录,注销,忘了密码都搞定了.这与该数据库进行了对话.您可以选择创建一个自定义成员资格提供程序,有很多教程可以帮助您实现这一目标.您可以使用自定义成员资格提供程序控制更多内容,但这需要更多工作.

2)AmRans示例代码非常适合保存实际文件.至于给定用户的文件夹,我可能会在你的web.config中配置一个基目录,然后;

if( Directory.Create( Path.Combine( baseDirectory, UserDirectory)).Exists) {

}
Run Code Online (Sandbox Code Playgroud)

虽然如果你使用的是.NET 2,那么这可能仍然存在;

string savePath = Path.Combine( baseDirectory, UserDirectory);

Directory.Create( savePath );

if( Directory.Exists( savePath)) {
}
Run Code Online (Sandbox Code Playgroud)

要查看这些文件,如果用户已登录,您可以查询保存目录+用户名并列出其中的所有文件.