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://: --ciphers DEFAULT --compressed -ksL -O https://www.example.com/some.jpg 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,此法无效。