rest API的CSV下载不起作用

rest API的CSV下载不起作用,rest,csv,response,resteasy,content-disposition,Rest,Csv,Response,Resteasy,Content Disposition,我试图通过将数据写入响应输出流来下载csv。我已经将内容配置设置为text/csv、application/octet-stream、openxml、ms-excel.exe和accept-header。 还尝试了响应生成器通过tearrayoutputstream构建 甚至在本地创建了一个文件并尝试下载 但是,我在响应体中得到了csv响应。没有下载,没有下载提示。我正在使用RESTEASY JAXR @POST @Path("/response") @Produces({"applicatio

我试图通过将数据写入响应输出流来下载csv。我已经将内容配置设置为text/csv、application/octet-stream、openxml、ms-excel.exe和accept-header。 还尝试了响应生成器通过tearrayoutputstream构建

甚至在本地创建了一个文件并尝试下载

但是,我在响应体中得到了csv响应。没有下载,没有下载提示。我正在使用RESTEASY JAXR

@POST
@Path("/response")
@Produces({"application/vnd.ms-excel"})
@Consumes({MediaType.APPLICATION_JSON})
public void viewSomething(PolicyRequest input,@Context HttpServletResponse responseExcel){

    try
    {
        List<List<String>> data= getData(something)
        String filename =   "sample.csv";

        responseExcel.addHeader("Content-Disposition", "attachment;filename="+filename);    
        responseExcel.addHeader("Content-Type" ,"application/vnd.ms-excel");


        OutputStreamWriter osw = new OutputStreamWriter(responseExcel.getOutputStream());
        CSVWriter writer = new CSVWriter(osw);

        for(List<String> rows : data){
            String[] row = rows.toArray(new String[0]);
            writer.writeNext(row);
        }
writer.flush();
writer.close();
osw.close();                    
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    }
@POST
@路径(“/response”)
@产生({“application/vnd.ms excel”})
@使用({MediaType.APPLICATION_JSON})
public void viewSomething(策略请求输入,@Context-httpservletresponseexcel){
尝试
{
List data=getData(某物)
字符串filename=“sample.csv”;
addHeader(“内容处置”、“附件;文件名=“+filename”);
responseExcel.addHeader(“内容类型”、“应用程序/vnd.ms excel”);
OutputStreamWriter osw=新的OutputStreamWriter(responseExcel.getOutputStream());
CSVWriter writer=新的CSVWriter(osw);
用于(列表行:数据){
String[]行=rows.toArray(新字符串[0]);
writer.writeNext(行);
}
writer.flush();
writer.close();
osw.close();
}
捕获(例外e)
{
e、 printStackTrace();
}
}

您返回了错误的内容类型标题:
@products({“application/vnd.ms excel”})

它应该是
@products({“text/csv”})


另外,显式设置标题应该是过时的,因为
@products
会为您执行此操作您返回了错误的内容类型标题:
@products({“application/vnd.ms excel”})

它应该是
@products({“text/csv”})

另外,显式设置头应该是过时的,因为
@会为您生成