使用httpservlet

时间:2017-08-08 15:20:03

标签: javascript java servlets httpresponse zipfile

我正在尝试实现一个函数,其中on a page like this首先选择要导出/下载的记录,点击下载按钮并从db中获取记录后,信息将保存在两个中方法:

  1. 对于文本信息,它们将一起写入xls文件,然后下载
  2. 对于 pics ,它们将首先打包为zip文件并下载。
  3. 以这种方式形成前端请求

    var form = $("form");
    form.css(...)
        .attr("target","_blank")
        .attr("method","post")
        .attr("action","export")
        ....
        .submit()
    

    对于后端,我使用了HttpServlet和一些常规操作,如

    response.setContentType();
    response.setHeader("Content-Disposition","attachment;filename"+fileName+".zip");
    out = response.getOutputStream();
    out.write(buffer,0,b);
    

    在zip下载中,ZipOutputStream也像

    一样使用
    zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()))
    ...
    zipos.putNextEntry(new ZipEntry(...))
    

    当我单独测试两个下载时,它适用于excel,但是对于Zip文件I was shown error like this。 当我尝试使用两个form.submit()请求进行测试时,只会响应第一个。

    以下是我的问题:

    1. zip文件中出错的原因是什么?我尝试将setContentType设置为“multipart / form-data”,“zip”,“gzip”,“application / octet-stream”。两者都没有。
    2. 我对两个唯一请求的说法有意义吗?实现双/多文件下载功能的最佳方法是什么?
    3. 感谢。

0 个答案:

没有答案