ASP.NET Core 2.0 只在服务器端访问本地文件夹而不暴露给网络
ASP.NET Core 2.0 Access local folder only on server side without exposing to web
我一直在绕着这个房子转,现在只见树木不见森林,所以想就在不影响安全的情况下实现的最佳方式征求意见。
我们有一些静态文件存储在网络服务器的本地文件夹中(例如,当前 c:\staticfiles
),我们的 ASP.Net Core 2.0
应用程序需要能够访问这些文件,但只能从服务器访问边。我不想将它们放在 www
(或任何其他外部可见的地方)下,因为这会使它们公开访问。
根据我们当前的设置,尽管我们已经向 c:\staticfiles
应用了权限(甚至 "Everyone" 作为测试),但我们从服务器端代码中得到了“Access to the path is denied
”异常文件夹。
非常感谢您的想法。
谢谢。
为此,在 ASP.NET 框架中,调用 "Server.MapPath" 用于映射到文件系统上的文件。在.net core中,这个API是不能用的。
在.net core中,有两个概念
- 内容根目录,用于二进制文件和私有文件
- web 根目录,这是用于 public 文件的,这些文件将通过 URL.
公开
默认情况下,这两个位置都指向同一个文件夹。
您可以使用IHostingEnvironment interface OR the hosting.json file更改内容根目录或网站根目录的位置。
如果您需要参考,这些链接是内联的。
堆栈溢出应该可以帮到你。
希望对您有所帮助。
我一直在绕着这个房子转,现在只见树木不见森林,所以想就在不影响安全的情况下实现的最佳方式征求意见。
我们有一些静态文件存储在网络服务器的本地文件夹中(例如,当前 c:\staticfiles
),我们的 ASP.Net Core 2.0
应用程序需要能够访问这些文件,但只能从服务器访问边。我不想将它们放在 www
(或任何其他外部可见的地方)下,因为这会使它们公开访问。
根据我们当前的设置,尽管我们已经向 c:\staticfiles
应用了权限(甚至 "Everyone" 作为测试),但我们从服务器端代码中得到了“Access to the path is denied
”异常文件夹。
非常感谢您的想法。 谢谢。
为此,在 ASP.NET 框架中,调用 "Server.MapPath" 用于映射到文件系统上的文件。在.net core中,这个API是不能用的。
在.net core中,有两个概念
- 内容根目录,用于二进制文件和私有文件
- web 根目录,这是用于 public 文件的,这些文件将通过 URL. 公开
默认情况下,这两个位置都指向同一个文件夹。
您可以使用IHostingEnvironment interface OR the hosting.json file更改内容根目录或网站根目录的位置。
如果您需要参考,这些链接是内联的。
堆栈溢出应该可以帮到你
希望对您有所帮助。