【发布时间】:2019-08-24 08:54:07
【问题描述】:
在我多年使用网络(以及偶尔开发网站)的过程中,我注意到有些网站提供的图片与其他网站不同。
- 第一种是先提供低质量的图像,然后逐渐提供更多的数据,使图像变得更清晰。
- 第二种提供图像,就好像它是从上到下垂直扫描一样。
这张图片说明了我想说的
据我所知,我设置的每个 PHP、NodeJS 服务器都像第二种那样提供图像。
所以我的问题是如何在 PHP 或 NodeJS(使用 ExpressJS)中实现行为 1?
PS:
没有 javascript/ajax/(正在使用任何 3rd 方库)
我注意到这件事的网站没有使用 JS/multiple request 来实现这一点。这都是纯粹的服务器端。
【问题讨论】:
-
您必须使用隔行扫描(而不是逐行扫描)创建图像文件才能获得您想要的效果en.wikipedia.org/wiki/Interlacing_(bitmaps)这与图像的提供方式无关
-
第一个文件没有被“流式传输”,它是一个“渐进式 JPEG”文件,而第二个文件是一个“基线”JPEG 文件。
-
如果你想在 PHP 中将 JPEG 图像转换为隔行扫描,有这个stackoverflow.com/questions/41732652/…
标签: php node.js image server streaming