妙博客

主机评测 香港服务器 洛杉矶VPS测评

JAVA POI读取PPT报错 Zip bomb detected! The file would exceed the max.

JAVA读取PPT报错 Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data,完整报错信息如下所示。

java.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data.

This may indicate that the file is used to inflate memory usage and thus could pose a security risk.

You can adjust this limit via ZipSecureFile.setMinInflateRatio() if you need to work with files which exceed this limit.

Uncompressed size: 103231, Raw/compressed size: 900, ratio: 0.008718

Limits: MIN_INFLATE_RATIO: 0.010000, Entry: xl/pivotCache/pivotCacheRecords1.xml



主要原因是文件太大,解决办法增加如下代码。

ZipSecureFile.setMinInflateRatio(-1.0d);


完整代码如下:

FileInputStream inputStream =  new FileInputStream(pptPath);
ZipSecureFile.setMinInflateRatio(-1.0d);
XMLSlideShow ppt = XMLSlideShow(inputStream);
inputStream.close();


Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2