Thumbnailator支持流式处理图片可以避免将整张图片加载到内存中。您可以尝试使用流式处理来避免内存溢出问题如何处理调用示例
以下是使用Thumbnailator进行流式处理的示例代码:
import net.coobird.thumbnailator.Thumbnails;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class ThumbnailatorExample {
public static void main(String[] args) throws IOException {
File input = new File("input.jpg");
File output = new File("output.jpg");
try (InputStream inputStream = new FileInputStream(input);
OutputStream outputStream = Thumbnails.of(inputStream)
.size(200, 200)
.outputQuality(0.8)
.asOutputStream()) {
outputStream.writeTo(output);
}
}
}
在这个示例中,我们首先创建了一个输入文件和一个输出文件。然后,我们使用FileInputStream将输入文件读入内存中,并将其传递给Thumbnails.of()方法。这个方法返回一个Thumbnails.Builder对象,我们可以使用它来指定我们想要的缩略图的大小和质量。
我们调用asOutputStream()方法来获取一个输出流,然后将其写入输出文件中。在这个过程中,Thumbnailator会自动进行流式处理,避免将整张图片加载到内存中。
原文地址: http://www.cveoy.top/t/topic/bOyI 著作权归作者所有。请勿转载和采集!