【问题标题】:ASP.NET Core storing large amount of image files with web APIASP.NET Core 使用 Web API 存储大量图像文件
【发布时间】:2018-12-31 13:27:34
【问题描述】:

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

总之:

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

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

编辑

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

【问题讨论】:

  • 我开发了一个 MVC5 项目,将图像存储在文件系统中,路径信息以 dB 为单位。目前我正在用 .net Core 重新开发类似的项目。该解决方案有三个项目,一个用于控制面板和图像上传,第二个是用于存储调整大小的图像的 web api,第三个是实际显示图像的公共最终用户界面。我将在github上分享一个示例,完成后在此处提供链接。
  • 这听起来很像我想要做的。完成后看到结果会很有趣。
  • @LazZiya 3年后状态如何?? :)
  • @Shahroozevsky 谢谢你提醒我,坦率地说我完全忘记了这个问题 :( 但实际上我做了这个项目,然后添加了太多其他功能,现在我将它用作我自己的 CMS,但我认为在这里分享这个问题的解决方案太多了。(不是承诺)但我会尝试制作一个干净的并在有时间时分享:)

标签: database asp.net-core filesystems storage


【解决方案1】:

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

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

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

【讨论】:

  • 但是这个选项是基于云的,这意味着我需要连接到互联网,而这个系统没有。我只能使用本地网络。
猜你喜欢
  • 2020-02-29
  • 2018-09-04
  • 2017-01-16
  • 2017-09-21
  • 1970-01-01
  • 2019-05-08
  • 2020-09-07
  • 2020-12-22
相关资源
最近更新 更多