W1 Cybertech

W1

“web服务器无法处理该图片,请在上传前将其转换为 JPEG 或 PNG 格式”的解决办法

以webP格式图片上传的问题简述

在WordPress网站后台上传特殊格式的图片文件时,如果服务器不允许或不支持该格式的文件上传,系统将显示以下错误提示:
web服务器无法处理该图片,请在上传前将其转换为 JPEG 或 PNG 格式。
导致图片文件上传无法进行。以 webP 格式的图片文件为例,webP 是由谷歌推出的一种适用于 Web 的图像格式。相较于 JPG,在保持相同质量的前提下,webP 可以减小约40%的文件体积。然而,当在某些服务器环境中不支持或不允许上传 webP 格式的图片文件时,系统将会显示以下错误提示:“web服务器无法处理该图片,请在上传前将其转换为 JPEG 或 PNG 格式。”值得一提的是,根据WordPress的官方开发日志,我们了解到最早在 WordPress 5.8 版本中开始支持 webP 格式的图片文件。

解决方法

遇到“web服务器无法处理该图片,请在上传前将其转换为 JPEG 或 PNG 格式。”这种问题时,我们可以采取以下解决方法:

方法1:通过FTP上传 webP 格式图片

这是最简单易于操作的方法。如果网站后台无法上传这种特殊格式,可以通过网站FTP将图片上传到指定目录,然后在网站上进行使用。

方法2:修改 webP 格式图片的扩展名

将要上传的 webP 格式图片的扩展名,在本地直接修改为服务器支持的 .jpg 或 .png 格式后,再在网站后台上传并使用。

方法3:使用扩展程序,忽略服务器对环境的检测(适用于独立服务器和虚拟主机)

该方法需要将以下代码添加到当前使用的网站模板的 functions.php 文件中,以取消系统对网站服务器(主机)的 webP 格式环境检查,从而实现 webP 格式图片文件的上传操作:

//取消 webP 格式环境检查
add_filter('plupload_default_settings', function($defaults) {
	$defaults['webp_upload_error'] = false;
	return $defaults;
}, 10, 1);
 
add_filter('plupload_init', function($plupload_init) {
	$plupload_init['webp_upload_error'] = false;
	return $plupload_init;
}, 10, 1);

通过这些方法,您可以轻松解决“web服务器无法处理该图片”的问题,并顺利实现 webP 格式图片文件的上传操作。除了 webP 格式外,HEIC、SVG、TIFF、RAW、BMP、ICO等格式也可能导致类似问题。如果您需要更多帮助或有其他疑问,请随时联系我们。

W1提供专业的网站开发服务,可以提供WordPress技术相关问题的咨询服务,欢迎联系我们了解详情。

Scroll to Top