jmagick处理图片水印时的问题

在项目中有个图片水印的功能,由于 jmagick很好很强大,所以就用上了,

有个同事调用我写的接口时传递过来的文件不存在时,java进程居然中断,

服务器居然自动关闭,太厉害了。居然能把系统搞崩溃。

debug进去时发现在aImage.annotateImage(aInfo)时出现问题。

其实解决方法很简单,判断下文件是否存在就可以了(file.exists())。

但是我就想不明白为什么会系统崩溃,aImage.annotateImage难道就没有做判断,

有了错误为什么不会抛出异常。真莫名其妙了,等太阳出来的时候我再看看源代码。

有新发现再和大家分享。

其实还应该判断文件类型,如果不是图片不能处理水印,判断图片可以用byte[] imgContent = FileUtils.readFileToByteArray(file);方法查看文件头部来获取是什么文件格式。

你可能感兴趣的:(jmagick)