23.21 Chrome下载图片时总是存成webp格式
https://scz.617.cn/web/202111031459.txt
Q:
Chrome、Opera下载图片时总是存成webp格式,即使原图片是jpg格式。有啥办法存成 原格式?
D:
这种情况的出现依赖于C/S两侧的配合,需要服务端做相应配置,同时客户端优先使 用webp格式。据说webp格式尺寸更小,于是传输更快。但Chrome罔顾客户端精准请求 jpg格式的事实,自作主张进行透明替换。当C/S两侧都支持webp格式时,用Chrome无 法正常下载jpg图片,png类似。
A: scz 2021-11-03 14:59
这是Chrome强推自家webp格式的流氓举措,有一些应对措施
1) (已失效)
假设图片URL是
https://www.example.com/some.jpg
在Chrome、Opera中访问该URL,即使改过User-Agent,右键保存图片时仍使用webp格 式。但有个规避办法,将图片URL换成
https://www.example.com/some.jpg?any
在原URL尾部增加"?any",再次保存图片将使用原格式,不会自动转webp格式。
2)
在图片右键菜单中选择"复制图片",粘贴到"画图"中,另存为任意想用的格式。
3)
可以装个插件
Save image as Type https://chrome.google.com/webstore/detail/save-image-as-type/gabfmnliflodkdafenbcpjdlppllnemd?hl=en-US
插件装好后,在图片右键菜单中出现"Save image as Type",支持三种格式,jpg、 png、webp。其工作原理应该是进行格式转换,而非原生格式下载。
4)
用格式转换工具。Windows、Linux上有很多种,五花八门的,bluerust用过其中两种
ffmpeg -i some.webp some.jpg ffmpeg -loglevel quiet -i some.webp some.jpg
aptitude install webp dwebp some.webp -o some.png dwebp -quiet some.webp -o some.png
这种办法最扯淡,除非因其他需要已有这类工具,否则不推荐。
5)
至少curl会下载原格式
curl --proxy socks5h://
6)
有时可通过变换图片URL下载jpg,比如
https://www.target.com/any_webp/path/some.jpg
观察后,尝试访问
https://www.target.com/any/path/some.jpg
即删除原URL中"_webp",此时另存图片已是jpg格式。此法只能具体网站具体测试后 使用,非通用解决方案。
7) (无效)
修改User-Agent为低版本IE,同时修改Accept,删除其中的"image/webp",仍然返回 webp,此法无效。