首页 > 解决方案 > 在网络服务器 ASP Net Core/Angular 上保存私有图像的最佳实践

问题描述

在我的 Angular 应用程序中,用户可以注册/登录并上传私有图像。上传后,这些图像会立即显示在公式中。目前图像存储在文件夹中

string imageDictionary = $"{_HostingEnvironment.WebRootPath}\\{User.Identity.Name}\\UploadFiles\\";

文件夹和图像名称存储在数据库中。

确保图像只能由如何登录的用户访问的最佳方法是什么?如果链接已知,目前可以调用图像。

如果我禁用目录浏览并给图像一个随机创建的名称就足够了吗?

我用于后端 ASP Net Core 和前端 Angular 版本 7。

标签: c#angularasp.net-core.net-coreasp.net-core-mvc

解决方案


我建议你使用 Azure Blob 存储,因为已经有了安全保护

如果要将文件存储在 wwwroot 文件夹中,则需要添加中间件以检查用户权限,然后才能让他们看到文件,因为 wwwroot 文件夹是每个人都可以访问的公共文件夹


推荐阅读