ASP.NET Core 8.0 MVC:如果 ModelState 无效且表单重新加载,临时存储照片的最佳位置在哪里?

问题描述 投票:0回答:1

我开始开发 ASP.NET Core 8.0 MVC 项目。我有一个表单,用户最多可以上传 10 张照片/文件。

如果

ModelState
无效且表单重新加载,临时存储照片的最佳位置在哪里?在这种情况下,我希望用户能够删除和/或添加新的。

ChatGPT 建议我将它们存储在

wwwroot
文件夹中的临时文件夹中,并在
ModelState
有效时删除它们。但这种方法是否容易受到服务器的攻击?

在这种情况下你会给我什么建议?然而,另一方面,我认为这是一个非常好的用户到期时间,我不想剥夺用户的权利。

提前非常感谢! :))

问候,
约翰娜·科诺娃。

asp.net-core-mvc temporary-files modelstate
1个回答
0
投票

我在这里看到了一些选项。这在很大程度上取决于您期望的流量以及您需要优化多少资源。

  • 将照片保存在内存中。从资源的角度来看,这是不可取的,特别是如果您预计应用程序负载较高。
  • 将文件写入本地文件系统(wwwroot 或其他)。如果有很多用户并行工作,文件的管理可能会很棘手。此外,如果容器/pod 重新启动,您可能会丢失文件。
  • 您可以使用 Redis 等缓存 (https://redis.io/) 或 S3 等存储 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 。两者都是为像您这样的用例而设计的。如果您预计会有大量流量并且必须优化资源使用,我会选择这样的解决方案。
© www.soinside.com 2019 - 2024. All rights reserved.