如何将上传的文件存储在安全文件夹中,并且可以在 asp.net 核心中安全地访问它?

how to store uploaded files in secure folder and it can be accessed securely in asp.net core?

如何将上传的文件存储在安全文件夹中,并且可以在 asp.net 核心中安全地访问它?我知道该文件夹必须在 www 根文件夹之外。但是,我做了一些 google 搜索仍然找不到示例。有人可以帮我举个例子或给我说明如何设置吗?谢谢

我参考了(Serving Static Files Outside of wwwroot in Asp.NET Core 1.0)的说明进行设置。 但它仍然可供 public 访问。我想只有授权用户才能访问上传的文件。怎么做?谢谢

(1) 最简单的解决方案可能取决于您的服务器 OS 和访问级别,以调整文件夹访问权限。要就此提出建议,我需要您提供更多详细信息。

(2) 我认为更好的方法是实现一个 handler/service 来处理 public 请求,如果用户获得授权,则将文件内容流式传输回用户。再一次,根据您的 server/configuration,可能还需要参考 (1)。

(3) 另一种选择是使用云 blob 存储,您可以在其中将存储设置为私有并使用其 API,并为用户颁发访问令牌以访问特定文件。令牌也可以设置为在一段时间后过期。