如何通过ajax请求将动态生成的* .xlsx文件下载到JAX-RS

时间:2015-02-09 13:50:26

标签: jax-rs

我使用 Apache POI 库在服务器上创建 .xlsx文件。我只是无法理解当用户点击按钮时我应该执行哪些步骤来下载此文件? 此按钮调用 JAX-RS 中创建 .xlsx 的方法,它没有将其写入服务器。是否可以直接下载到用户(无需写入服务器的磁盘),即打开弹出窗口,询问用户是否要下载此文件?

我尝试过这个解决方案,但它不起作用:

File file = new File("test.xlsx");

        ResponseBuilder response = Response.ok((Object) file);
        response.header("Content-Disposition",
            "attachment; filename=new-excel-file.xls");
        return response.build();

ajax代码

$.ajax({
                  type: "POST",
                  url: 'api/export',
                  data: JSON.stringify(chartData),
                  headers : {
                        'Accept' : 'application/json',
                        'Content-Type' : 'application/json'
                  },
                  success: function(data){
                    alert(data);
                  }
            });

我得到错误406错误,我怀疑我应该定义 ajax 请求接受返回的数据类型,但不知道哪个数据类型是? 谢谢。

0 个答案:

没有答案