gpt4 book ai didi

java - BufferedImage 到 InputStream - 格式不同

转载 作者:行者123 更新时间:2023-11-30 03:26:00 25 4
gpt4 key购买 nike

我正在尝试使用以下方法将 BufferedImage 转换为输入流:

BufferedImage bi = ImageIO.read(file.getInputStream());
bi = Scalr.resize(bi, 300);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bi, file.getContentType(), os); //the content type is specified as image/jpeg

我面临的问题是我的 file.getContentType() 返回的值为“image/jpeg”,而不是例如“jpg”,因此显示损坏的文件。

有没有一个好的方法可以将其转换为 jpg(或使其可以接受 image/jpeg)?我有许多其他文件格式(例如 png),并且认为执行一些逻辑来检查内容类型的 switch 语句是完全没有必要的。

最佳答案

.jpeg.jpg 是等效的扩展名 - jpg 的存在是由于 Windows 历史上要求具有 8.3 filename.extension 格式.

要获取必要的扩展,请将其从内容类型中提取出来:

final String contentType = file.getContentType();
contentType.substring(contentType.lastIndexOf("/") + 1)

关于java - BufferedImage 到 InputStream - 格式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30190238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com