默认

[已解决] 求助RainbowChat服务端头像压缩处理在JDK17、JDK8上的问题

查看数: 2272 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-02-27 23:35

正文摘要:

今天遇到这么个情况,个人信息头像这块,有些图片上传成功,有些会失败。比如这张: 2、运行环境是 OpenJDK8,图片可以上传成功,但是会变成一个纯黑色方块。 其他环境还没测试,这里有什么经验吗?我打算换 ...

评论

JackJiang 发表于 3 个月前
引用:batizhao 发表于 2025-02-28 13:48
JDK17是因为上传图片第一次压缩的时候没生成图片,导致第二次调用去做缩略图是报错了(找不到第一次的图 ...

好的,下个版本我也把官方的这个图片处理给增强一下
batizhao 发表于 3 个月前
引用:JackJiang 发表于 2025-02-28 11:01
你这JDK17上的异常信息显示的是图片文件不存在(FileNotFoundException),意思是图片文件没有上传成功?你 ...

JDK17是因为上传图片第一次压缩的时候没生成图片,导致第二次调用去做缩略图是报错了(找不到第一次的图片)。
JDK8 是因为两次生成都是纯黑色图片。

用了个类库解决了:
Thumbnails.of(new File(newFilePath))
                .size(width, height)
                .toFile(new File(newFileThumbPath));
JackJiang 发表于 3 个月前
你这JDK17上的异常信息显示的是图片文件不存在(FileNotFoundException),意思是图片文件没有上传成功?你可以加log调试下看看图片为啥没有上传成功

第二个异常openjdk8这里,黑块啥的,这个api是jdk的api实现的,jdk本身的图片处理api本身也不是特别强大,很说不会存在一些兼容问题。可以用源码多调试一下,看看具体是什么问题。

另外,JDK建议尽可能用Oracle官方的jdk,稳定可靠一些,不要用openjdk

返回顶部