diff --git a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/config/component/FileBatchUploadComponent.java b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/config/component/FileBatchUploadComponent.java index b304f99..6c6edd1 100644 --- a/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/config/component/FileBatchUploadComponent.java +++ b/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/config/component/FileBatchUploadComponent.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.RandomUtil; import com.yxt.common.core.result.FileUploadResult; import com.yxt.common.core.result.ResultBean; +import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,10 +14,14 @@ import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import javax.imageio.ImageIO; +import javax.imageio.ImageReader; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.stream.ImageInputStream; import java.awt.image.BufferedImage; import java.io.*; import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; /** @@ -86,7 +91,7 @@ public class FileBatchUploadComponent { // 图片宽度、高度 String width = ""; String height = ""; - try { + /*try { BufferedImage bufferedImage = ImageIO.read(file.getInputStream()); if (bufferedImage != null) { // 证明上传的文件不是图片,获取图片流失败 width = String.valueOf(bufferedImage.getWidth()); @@ -94,6 +99,26 @@ public class FileBatchUploadComponent { } } catch (IOException e) { e.printStackTrace(); + }*/ + try (ImageInputStream imageStream = ImageIO.createImageInputStream(file.getInputStream())) { + Iterator readers = ImageIO.getImageReaders(imageStream); + if (readers.hasNext()) { + ImageReader reader = readers.next(); + reader.setInput(imageStream); + + // 获取图像的元数据 + IIOMetadata metadata = reader.getImageMetadata(0); + + // 获取图像的宽度和高度 + width = String.valueOf(reader.getWidth(0)); + height = String.valueOf(reader.getHeight(0)); + + // 输出或处理宽度和高度 + System.out.println("Width: " + width); + System.out.println("Height: " + height); + } + } catch (IOException e) { + e.printStackTrace(); } // 原文件名 String prefixName = fileName.substring(0,fileName.indexOf("."));