我应该在 visual studio 内的 wwwroot 下创建文件上传文件夹吗?
Should I create my folder for file uploads under wwwroot inside visual studio?
如果我遵循此 example 文件上传将存储在 wwwroot 文件中。据我了解,这个文件是您应该存储将提供给用户的静态文件的地方。当然,我希望我的用户能够下载,但是是否有特定于 asp.net core/IIS/Windows Server 2012 的文件系统最好?几年后我预计最多会有大约 10,000 个文件。
我打算为上传的文档创建一个文件夹,只是不确定该放在哪里。
注意:提供的答案 不充分
据我所知,除非您采取特别的预防措施,否则 wwwroot 下的文件可以被用户、机器人等免费下载,无需身份验证。如果文件本质上不是敏感文件,那么使用 wwwroot 没有任何问题。
如果您想在控制器级别提供安全性(例如,用户只能查看他们自己的文件),那么最好将它们放在文件系统的其他位置。路径是任意的,但必须以 dotnet 进程可以访问它的方式设置文件夹的安全设置。您可以授予每个人完全访问权限,或者如果您认为合适,可以限制更多。这是直接在服务器的 OS 上完成的,假设您可以访问它。
出于两个原因,我不会那样做。
1. 保持控制和概览。我会创建一个子文件夹并赋予它创建和写入上传文件所需的权限。
2. 如果您的要求发生变化,您可以自由更改授权。
如果我遵循此 example 文件上传将存储在 wwwroot 文件中。据我了解,这个文件是您应该存储将提供给用户的静态文件的地方。当然,我希望我的用户能够下载,但是是否有特定于 asp.net core/IIS/Windows Server 2012 的文件系统最好?几年后我预计最多会有大约 10,000 个文件。
我打算为上传的文档创建一个文件夹,只是不确定该放在哪里。
注意:提供的答案
据我所知,除非您采取特别的预防措施,否则 wwwroot 下的文件可以被用户、机器人等免费下载,无需身份验证。如果文件本质上不是敏感文件,那么使用 wwwroot 没有任何问题。
如果您想在控制器级别提供安全性(例如,用户只能查看他们自己的文件),那么最好将它们放在文件系统的其他位置。路径是任意的,但必须以 dotnet 进程可以访问它的方式设置文件夹的安全设置。您可以授予每个人完全访问权限,或者如果您认为合适,可以限制更多。这是直接在服务器的 OS 上完成的,假设您可以访问它。
出于两个原因,我不会那样做。 1. 保持控制和概览。我会创建一个子文件夹并赋予它创建和写入上传文件所需的权限。 2. 如果您的要求发生变化,您可以自由更改授权。