0
私のPlayframework 2.5.0アプリケーションは一時的に作成されたzipファイルを提供する必要があります。 私はzipファイルを/ tmpディレクトリに作成し、問題なく実行します(私はここを開いて、そこに含まれているファイルを展開できます)。Playframework 2.5.0:サーバー側で生成されたzipファイルを提供できません
ただし、クライアントに送信されたファイルは切り捨てられているようで、開くことはできません。
String tempPath = "/tmp/" + label + ".zip";
File zipFile = new File(tempPath);
zipFile.deleteOnExit();
ZipOutputStream zos = null;
try {
zos = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile)));
for (/* loops through files to zip */) {
InputStream is = methodToGetTheDocument();
ZipEntry zipEntry = new ZipEntry(document.getLabel());
zos.putNextEntry(zipEntry);
byte[] bytes = new byte[2048];
int count = is.read(bytes);
while (count > -1) {
zos.write(bytes, 0, count);
count = is.read(bytes);
}
is.close();
zos.closeEntry();
}
return ok(zipFile);
} catch (Exception e) {
return badRequest("Bad request");
} finally {
try {
zos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
私は古典的な結果オブジェクトを返します...何が問題ですか?
前に「近い」
zos.close()
を使用してzipファイルを持っています7file.zip "));'? – Salem