Java 如何对org.w3c.dom.Document进行压缩和base64
我有一个org.w3c.dom.Document,必须对它进行zip和base64编码,以便通过HTTP/HTTPS使用EBICS协议发送它 我试过了 但是有一个例外Java 如何对org.w3c.dom.Document进行压缩和base64,java,dom,base64,zip,Java,Dom,Base64,Zip,我有一个org.w3c.dom.Document,必须对它进行zip和base64编码,以便通过HTTP/HTTPS使用EBICS协议发送它 我试过了 但是有一个例外 java.util.zip.ZipException: incorrect header check at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164) at java.io.FilterInputStrea
java.util.zip.ZipException: incorrect header check
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:218)
我还没有尝试过这个,但是下面的内容不是你需要的吗
OutputStream OutputStream=new ZipOutputStream(new ByteArrayOutputStream())代码>
我认为您的问题可能是由于使用了充气输入流
——您不是在尝试对该流进行放气吗?如果您只需将InflaterInputStream
更改为DeflaterInputStream
,您的代码就可以工作了。我还没有尝试过这一点,但下面的操作是否可以满足您的需要
OutputStream OutputStream=new ZipOutputStream(new ByteArrayOutputStream())代码>
我认为您的问题可能是由于使用了充气输入流
——您不是在尝试对该流进行放气吗?如果您只是将充气输入流
更改为放气输入流
更改,则代码可能会工作
InputStream inflated_stream = new InflaterInputStream(new ByteArrayInputStream(outputStream.toByteArray()));
到
解决了这个问题
谢谢你换衣服
InputStream inflated_stream = new InflaterInputStream(new ByteArrayInputStream(outputStream.toByteArray()));
到
解决了这个问题
谢谢我不能使用gzip作为EBICS中请求的压缩方法的标准zip,我不能使用gzip作为EBICS中请求的压缩方法的标准zip
InputStream inflated_stream = new DeflaterInputStream(new ByteArrayInputStream(outputStream.toByteArray()));