教程

网站拒收 WebP?一分钟解决上传报错

koboshiCo-founder
·1 分钟阅读
概述

网站拒绝你的 WebP 文件时,出问题的是网站,不是你的文件。它的上传流水线只认一张固定的格式清单。本文解释原因、给出一分钟解法,并说明该转 JPG 还是 PNG。

本教程使用免费的批量 WebP 转 JPG——它完全在你的浏览器中运行。打开工具

上传表单提示"不支持的文件格式",而你的文件是 .webp。解法如下:用我们的 WebP 转 JPG 工具把它转成 JPG——工具在你的浏览器里运行,不会上传到我们这里,大约一分钟后你就有一个能被接受的文件。被拒不代表你的文件坏了,它代表网站的上传流水线太老。下面讲清楚到底发生了什么,以及各种变体怎么处理。

网站为什么拒收 WebP

上传流水线天生保守。网站接受你的图片后,服务器必须解码它——缩放、生成缩略图、安全扫描。解码靠的是网站多年前安装的库,而格式白名单也是那时候写下的。常见原因有四个:

来自 WebP 之前的格式白名单。 表单只接受 .jpg, .jpeg, .png, .gif,因为 2014 年有人在 CMS 配置里敲下了这行字,此后再没人碰过。这是大多数情况——老 WordPress 站点、论坛程序、政府和学校门户、电商上架工具。

服务器端图像库没有 WebP 支持。 老版本的 GD 和一些 ImageMagick 编译时没带 WebP。就算表单收了文件,后面的处理环节也解不开,所以网站干脆提前拒绝。

安全扫描。 正常的上传处理器会在保存任何东西之前,对照允许清单检查文件的 magic bytes。WebP 的 RIFF....WEBP 签名根本不在旧清单上。

表单的 accept 属性。 有时拒绝发生在你的浏览器里,什么都还没发出去:文件选择器把清单之外的扩展名全部置灰。同一张白名单,只是离你更近。

WordPress 值得单独提,因为它驱动着网络的巨大份额。它的允许类型存在一张 MIME 白名单里,WebP 上传直到 2021 年的 WordPress 5.8 才被官方支持——而且前提是托管服务器的图像库能解码。任何更老的安装,或者跑在老 GD 构建上的新安装,都会拒收。如果你是网站的管理员,修复是一行过滤器的事。如果你只是想传张照片上去,转换才是更快的那扇门。

这一切底下的共同模式是:网络积极地分发 WebP,因为浏览器爱它(网页图片格式指南解释了原因),而同一张网络的上传一侧还活在 2014 年。你正站在这两者之间的缝隙里。

解法:转成被接受的格式

把 WebP 拖进 WebP 转 JPG 工具,下载 JPG,上传它。转换完全在你的设备上进行——文件不去我们的服务器,也不去任何人的服务器——而结果能通过有史以来写过的所有白名单,因为每张名单上都有 JPG。

如果转换之后报错信息抱怨的是别的东西——"文件太大"、"尺寸超出限制"——格式只是第一道门。体积问题有专门的工具:我们的图片缩放工具以同样的方式在本地把文件缩小。

转 JPG 还是 PNG

先看报错信息——如果表单列出了接受的格式,99% 的情况下 JPG 和 PNG 都在上面。然后按内容选:

  • 照片、产品图、一切来自相机的内容 → JPG。 文件更小,而上传体积限制是真实存在的。JPG 不可能有透明度,但照片本来也没有。
  • 截图、logo、图形、一切带文字或透明的内容 → PNG。 无损的边缘和真正的 alpha 通道;用 WebP 转 PNG 工具,透明背景完整存活。

拿不准的照片一律转 JPG。完整的画质说明见 如何把 WebP 转成 JPG

批量场景:上架和目录

电商卖家天天撞墙——供应商发来一整个文件夹的 WebP 产品图,而平台只收 JPG。用桌面应用一次转一张,二十张照片就是一个下午。浏览器转换器一次吃下整个文件夹:目录拖进去,等它跑完,全部打包成一个 ZIP 下载。文件名保留,你的 SKU 命名规则安然抵达。

相关的问题,别的门

如果 WebP 文件根本到不了网站那一步——在你自己电脑上都打不开——那是同一个支持缺口的桌面版,见 为什么打不开 WebP 文件。如果你的下载文件夹因为 Chrome 不停保存而堆满 WebP,如何阻止 Chrome 保存 WebP处理的是源头那一侧。

至于此刻正在拒收你的那个表单:转换文件,再传一次——报错信息要么换成抱怨别的,要么干脆消失。多半是后者。

准备好试一试了吗?

免费且不限次数。无需上传、无需注册——你的文件永远不会离开你的设备。

打开批量 WebP 转 JPG

更多推荐阅读