ASP.NET Core通过Web API存储大量图像文件

时间:2018-12-31 13:27:35

标签: database asp.net-core filesystems storage

我已经搜索了一段时间,但是我不确定我要寻找的是什么。我正在构建一个应用程序,其中一个模块通过相机收集图像并将其通过网络发送到另一个存储图像的模块。这些项目是使用APS.NET Core和Angular前端编写的。我正在寻找一种有效的方法来存储和传输这些图像。我已经读到将它们作为BLOB对象放在SQL数据库中效率不高,因此我正在考虑使用文件系统并将位置存储在数据库中。我想通过http请求检索它们(尽管我愿意接受建议)。有没有可以作为示例的此类项目?

总而言之:

  • 有效地(可能已压缩)将许多图像存储在网络位置
  • 最好使用ASP.NET Core
  • 也通过网络检索图像(http?)
  • 我将自己托管在封闭的网络中,因此没有像cloudinary这样的云服务(尽管这基本上正是我需要的功能)。

如果有人能指出我正确的方向,那就太好了!

编辑

经过更多研究,我发现最接近我要寻找的是this回答,该回答是说图像应分布在不同的文件夹中,并应存储在数据库中的位置。现在,我仍在寻找这样的示例项目...有人知道这样的开源项目是用ASP.NET Core编写的吗?

1 个答案:

答案 0 :(得分:0)

您可以并且可能应该使用CDN(例如AWS S3)来解决图像文件存储问题。这也是具有许多配置功能的非常可扩展的解决方案:

  • 通过HTTP访问文件的临时公共链接
  • 访问控制
  • 版本控制

您可能不会在线找到完整的解决方案源代码,但是上传文件的主要部分是一个非常普遍的问题。开始请参见AWS Docs