gpt4 book ai didi

java - 转换大尺寸 jpg 图像时抛出异常

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:10 25 4
gpt4 key购买 nike

我正在尝试上传 jpg 图像并通过 servlet 将其转换为新的缩略图。将该文件写入磁盘后,我的要求是为同一 jpg 文件创建缩略图。为此,我使用了以下代码...

//code to upload & write image file on disk goes here..

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
img.createGraphics().drawImage(ImageIO.read(new File(sourceFile)).getScaledInstance(100, 100, Image.SCALE_SMOOTH),0,0,null);

ImageIO.write(img, "jpg", new File(thumbFile));

以上代码适用于小文件。但是当它的文件大小为5MB时,它会复制,但无法将其转换为缩略图并抛出

Exception in thread ""http-bio-8888"-exec-63" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.<init>(Unknown Source)
at java.awt.image.ComponentSampleModel.createDataBuffer(Unknown Source)
at java.awt.image.Raster.createWritableRaster(Unknown Source)
at javax.imageio.ImageTypeSpecifier.createBufferedImage(Unknown Source)
at javax.imageio.ImageReader.getDestination(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at UploadFile.doPost(UploadFile.java:67).

请指导我。

最佳答案

您可以通过使用 java 解释器的“-Xms”和 -Xmx 命令行选项来增加堆大小(分别设置初始堆大小和最大堆大小)。

查看 Playing with JVM / Java Heap Size 上的此博客条目.

关于java - 转换大尺寸 jpg 图像时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7285769/

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