0
これは非常に基本的な質問ですが、実装が非常に多く、動作させることができません。サーブレットから生成されたzipをダウンロードしてください
私のプロジェクトでは、ユーザがボタンをクリックすると、サーブレット(AJAX POST
を介して呼び出されます)でzipファイルを生成しています。もちろん、そのファイルをユーザーにダウンロードさせたいと思っています。ここで
は、要求のための私のコードです:
<button type="button" class="btn btn-info btn-lg" onclick="getZip();">
<span class="glyphicon glyphicon-download"></span> Download clusters (.zip)
</button>
はここPOST
ためAJAX
です:
function getzip() {
$.ajax({
url:'GetZipServlet',
type:'GET',
});
}
そしてこれはダウンロードのための私のコードです:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Downloading clusters.zip");
/* Generate the directory on the server, then zip it. */
ClinicoGenomic.getInstance().clustersToFiles();
ClinicoGenomic.getInstance().zipClusters();
System.out.println("Done generating the .zip");
String parent_dir = System.getProperty("catalina.base");
String filename = "clusters.zip";
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename);
ZipOutputStream zipStream = new ZipOutputStream(response.getOutputStream());
ZipInputStream fi = new ZipInputStream(new FileInputStream(parent_dir + "/" + filename));
int i;
while ((i = fi.read())!=-1)
zipStream.write(i);
zipStream.close();
fi.close();
System.out.println(".zip file downloaded at client successfully");
}
私が手私のコンソールの正しいメッセージ、まで3210。しかし、ダウンロードは開始しません。何がここで間違っている可能性が???
ご回答いただきありがとうございます。それはうまくいかなかった – Mixalis