After I called api InputStream downloadFiles(FileIDListPojo var1, String var2, String var3)
, I want to do some more actions before write the inputStream
into servletOutputStream
and return to client.
Basically I will send several requests, and combine them together into one response and return to client. You may wonder why I don't sent requests together, it's because I want to put each response stream into a folder (or zip)
first then put the folders into one returned ZipOutputStream.
What I currently did is loop the procedures below for all requests.
-
prepare a temp
ByteArrayOutputStream tempOs = new ByteArrayOutputStream();
-
add a zip folder to tempOs
ZipOutputStream zipStream = new ZipOutputStream(tempOs);
zipStream.putNextEntry(new ZipEntry("folder name.zip")); - get inputStream from hue-drive and write it into tempOs
input = hueDriveFileClient.downloadFiles(fileIDListPojo, sessionToken, encoding); IOUtils.copy(input, tempOs);
- write tempOs to response stream
response.getOutputStream().write(tempOs.toByteArray());
Unfortunately I cannot get the correct zip file, it seems that files are not put into a folder, but written into one... So I want to ask if you can have a look and give some advice?
Aucun commentaire:
Enregistrer un commentaire