Thumbnail 图片压缩
图片压缩1.采用 Thumbnail 公共类2.采用 Thumbnail 方法Thumbnails.of(inputStream) // of(filePath/inputStream) 使用源图片的路径或流,生成缩略图构造器.sourceRegion(0, 0, imageWidth, imageHeight) // 截取源图中需要用于压缩的区域.size(width, he...
图片压缩
1.采用 Thumbnail 公共类
2.采用 Thumbnail 方法
Thumbnails.of(inputStream) // of(filePath/inputStream) 使用源图片的路径或流,生成缩略图构造器
.sourceRegion(0, 0, imageWidth, imageHeight) // 截取源图中需要用于压缩的区域
.size(width, height) // 设置缩略图的高度和宽度
.keepAspectRatio(true) // 是否保持原来的长宽比
.toOutputStream(outputStream); // 将生成的缩略图直接一输出流的形式输出;
// .toFile(fileUrl); //或 将缩略图以图片文件的形式输出;
3.解决bug
该方法爆出的UnsupportedFormatException:No suitable ImageReader 异常;
本人反复的出现这个异常,痛定思痛,查找各种资料,最后发现,
异常的真正原因是:原图文件被破坏,前面的inputstream已经被破坏了。
解决办法:使用base64 String 形式图片(String imageString),再解析为inputstream ,防止原图被破坏,压缩前加上代码如下;
InputStream inputStream = new ByteArrayInputStream(fastDFSUtil.generateImage(imageString));
注:fastDFSUtil.generateImage(imageString),将base64string 图片解码,转化为byte[]。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)