当前位置: 首页 > 网络应用技术

动态转换图片格式是WebP

时间:2023-03-09 11:36:38 网络应用技术

  WebP是Google启动的图像格式。保持相同质量时的体积可能比JPG少40%,这可以大大节省带宽的使用并提高网站的负载速度。

  因为这是一种新启动的格式,所以它不支持某些较旧的浏览器。因此,是否有一种方法可以加载支持此格式的WebP图片并让无支持的浏览器加载正常图片?

  本文将与您共享解决方案。欢迎阅读本文。

  如果我们想实现这一需求,我们需要拥有一个可以将普通图片格式转换为WebP格式的程序。查找它后,我们找到了一个名为WebP_Server_Go的开源项目。

  我们有一个转换程序,因此如何动态调用此程序?我们的需求基于客户的条件,以确定是否返回WebP格式的图片,因此我们可以通过NGINX中的反向代理实现动态调用。

  让我们整理一下思考:

  webp_server_go的版本页面提供Linux安装软件包。如果您的操作环境符合条件,则可以跳过本章并直接下载。

  该程序以GO语言编写,因此需要安装GO的开发环境。由于安装过程很简单,因此本文无法解释。根据教程构建环境后,我们将项目克隆放到本地,目录如下所示:

  我们打开makefile文件(建议使用goland打开它),在文件中执行命令

  如果您的编辑器不支持单击要运行的图标,则可以在终端中输入项目的根目录并执行命令,如下所示:

  执行成功后,您将在适用于当前系统应用程序的目录中看到(如果您的系统是MacOS,则您看到的结果将与mine.document相同)。

  根据官方网站上列出的使用方法,我们创建了一个在用户根目录中名称的文件夹,在其目录中复制准备的转换程序并创建一个名为“目录”的文件,并编写下面显示的内容:

  最后,以下命令的终端执行以启动转换程序:

  当您看到下面显示的界面时,这意味着此服务一直在正常工作。

  注意:在大多数情况下,您需要此程序才能静静地运行。如果您不想看到此运行框,则需要使用命令执行程序。

  例如:

  对于不熟悉此订单的开发人员,请进一步了解Linux Nohup命令。

  执行上述配置后,我们可以配置NGINX拦截客户端的请求,并在上一步中设置的好服务上代理它。配置如下所示:

  最后,我们访问网站以查看它是否成功,如下所示:

  返回的图片已经是WebP格式

  在这一点上,该文章已被共享。

  我是一个神奇的程序员,前端开发工程师。

  如果您对我感兴趣,请进一步了解。

  原来的;https://juejin.cn/post/7099099394166751239