服务器返回的图片 “Response Headers” 中没有返回 “Content-Length” 的值,导致前端无法判断下载是否完成。
原因是开启了 “gzip” 的压缩方式,导致响应去掉了 “Content-Length” 值。
启用 gzip 压缩功能,可以使网站中的 css、js、xml、html 等静态资源在传输时进行压缩,经过 gzip 压缩后的资源可以是原来的 30%甚至更小,虽然这样会消耗一定的 cpu 资源,但却可以节省大量的出口带宽,提高访问速度!
但是不建议压缩图片和大文件。因为图片(如 jpg 和 png 文件)本身就会被压缩,所以即使打开了 gzip,对于图片来说,压缩前后的大小也不会有太大差别。
解决:
打开 Nginx 配置文件,将 “gzip_types” 里面的图片类型(image/jpeg image/gif image/png)删去即可(或者直接关闭 gzip)。