将图像从服务器发送到客户端的专业方式

Posted

技术标签:

【中文标题】将图像从服务器发送到客户端的专业方式【英文标题】:Professional way to send images from server to client 【发布时间】:2021-09-12 17:56:49 【问题描述】:

我们正在计划我们的期末学校项目,我需要找到一种将图像从服务器发送到客户端(Flutter 应用程序)的方法。由于缺乏专业环境的经验,我很难做到这一点。

我总是在较小的项目中将图像名称或图像路径保存在数据库中,通过 API 获取数据,然后通过 HTTP 或 HTTPS 调用位于 Web 服务器上的图像。使用 Image.Network 在 Flutter 中非常简单。

不过,这听起来不是最好的选择

我们计划使用:

Ubuntu 或 Microsoft Server(仍有待决定) MariaDB 单独或与 MongoDB,甚至 MS SQL Server 一起使用(仍有待决定) 用于 API 的 ASP.NET Core Flutter 应用程序和客户端的 Web 界面

欢迎提出任何建议!

【问题讨论】:

【参考方案1】:

您在较小的项目中做得正确。这是最好的方法。当前端(移动应用程序或 Web 应用程序)使用 API 上传图像时,后端(在您的情况下为 ASP.NET Core)只需将其存储在服务器中(在您的情况下为 Ubuntu 或 Microsoft Server)。但我想说将所有媒体文件(如音频、视频、图像、文档等)存储在 AWS S3 bucket 上,因为如果 AWS-S3 可以存储任意数量的数据的服务器磁盘空间较低,则很难增加服务器磁盘空间。

在 S3 或服务器上保存媒体文件后,将其文件 url 存储在数据库中。当客户端请求时,通过 API 将这个 url 发送给客户端,从客户端你只需要使用该 url 来显示或下载。

【讨论】:

以上是关于将图像从服务器发送到客户端的专业方式的主要内容,如果未能解决你的问题,请参考以下文章

将文件从 REST Web 服务发送到客户端的正确方法是啥?

GWT 将大量数据从服务器发送到客户端的最佳实践

将图像从服务器发送到客户端

使用 REST API 将图像从服务器发送到客户端

将图像从 websocket 服务器 .NET 发送到客户端 (HTML5)

无法将图像发送到 Go 服务器