我可以使用一些pdf创建zip文件夹。但是当我解压缩时,它会让档案变得腐败。 这是我试过的代码。
0a1
> cth
9,10c10,11
< BaseUri: {ms-appx:///com/rufwork/mumd/UI/CloseableTabs.xaml}
---
> BaseUri: {ms-appx:///CloseableTabHeader.xaml}
39c40
< Height: 200
---
> Height: NaN
85c86
< Width: 200
---
> Width: NaN
请让我知道我在哪里做错了。
答案 0 :(得分:0)
在您将zout
的内容写入回复信息流后,您正在刷新,完成并关闭bos
。
首先完成编写zip数据,然后将数据写入响应,这样才能正确。
答案 1 :(得分:0)
我得到了解决方案。
//create byte buffer
byte[] buffer = new byte[1024];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ZipOutputStream zout = new ZipOutputStream(bos);
zout.putNextEntry(new ZipEntry("first.pdf"));
int length;
while((length = content.getInputStream().read(buffer)) > 0)
{
zout.write(buffer, 0, length);
}
zout.flush();
zout.finish();
bos.flush();
resp.setContentType(CONTENT_TYPE_ZIP);
resp.setHeader("Content-Disposition", "inline;filename= first.zip");
resp.getOutputStream().write(bos.toByteArray());
pdfMsOfficeCacheHeaderUtil.process(request, resp);
resp.flushBuffer();
zout.close();
bos.close();
它对我有用。