問題のないいくつかのファイルを含む zip ファイル (sample.zip) を作成しました。sample.zip を開くと、期待どおりのファイルが含まれています。
そのzipファイルをhttp応答に入れたいです。現在、私は以下を使用しています:
response.setContentType("application/zip");
response.addHeader("Content-Disposition", "attachment; filename="+"sampleZip.zip");
response.setContentLength(2048);
response.setHeader("Set-Cookie", "fileDownload=true; path=/");
FileInputStream fileInputStream = new FileInputStream("sample.zip");
OutputStream responseOutputStream = response.getOutputStream();
int bytes;
while ((bytes = fileInputStream.read()) != -1) {
responseOutputStream.write(bytes);
}
response.flushBuffer();
これで、ブラウザのデフォルトのダウンロード場所に zip ファイルがダウンロードされます。しかし、そのzipファイルを開くと、
ファイルを開けません: 有効なアーカイブではないようです
これを修正するのを手伝ってください。