ASP .NET Core 中私有图像的存储位置

Where to storage private images in ASP .NET Core

首先我使用wwwroot来存储用户上传的图片,我展示了这样的图片:

<img src="~/Images/ImageName" />

但我意识到我可以通过 url 访问 wwwroot 中的所有图像,即使我没有登录,如果图像发生变化,浏览器仍然显示第一张图像,直到我清除缓存。

接下来我在 ContentRootPath 中创建一个地毯来存储我的图像,通过控制器调用它们:

Stream stream = new FileStream(Path.Combine(_hosting.ContentRootPath, "PrivateFiles\Images\Usuarios\" + imageName),
                    FileMode.Open, FileAccess.Read, FileShare.Read,
                    bufferSize: 4096, useAsync: true);

并且在开发中工作正常,但是当我发布要在 SmarterAsp 中部署的项目时,图像没有显示。

我已经实现了从控制器调用 wwwroot 图像进行授权,并且每次更改为不缓存它们时我都会为图像添加不同的名称。