hkt1998

hkt1998

Halo附件上传失败可能的原因

2021-01-10

前几天,我尝试向Halo后台上传一些壁纸,却发现图片上传失败。

我的图片是通过后台调用API上传到阿里云OSS的。由于阿里云那边有些难以理解的限制,我最初怀疑是阿里云出了问题。于是,我登录阿里云控制台,单独往OSS上传了一张图片,结果发现一切正常。

由于图片已经过压缩,大小小于1M,因此也可以确定问题并非出自nginx的文件大小限制。

无奈之下,我只好上Halo的论坛求助。然而,相关问题并不多,我并未找到解决方案。于是,我登录服务器查看日志。Halo的日志还算好找,就在运行目录下。虽然我看不懂具体日志的含义,但发现有一个Java类无法找到。

我之前图片上传的功能是可以正常使用的,而且我也没有更新Halo的版本,因此基本确定并非缺少了什么文件。

我尝试重启Halo,结果问题得到了解决。我将Halo服务设置成了enable状态,推测可能是Halo崩溃后自动重启,但有些服务没有启动成功,从而导致某些东西无法找到。

我回想起之前也经常出现图片上传的问题。上一次是因为nginx的文件大小限制,导致1M以上的图片无法上传。还有一次是图片格式问题,某种格式的图片无法上传,至今仍未查清问题源头。为了方便以后排查问题,我把nginx的大小限制改成了2G,以便以后可能会上传一些视频等文件。