从xls工作簿升级到xlsx,未附加文件扩展名作为响应

时间:2018-08-27 04:27:41

标签: java excel apache-poi

我更新了一种从服务器将文件从XLS下载到XLSX的方法。我正在使用apache poi库来生成excel工作簿,然后使用流输出实体将响应发送回客户端。

当我使用XLS方法时,以前的最终响应看起来像:

return Response.ok(entity)
    .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=abc.xls")
    .type("application/vnd.ms-excel")
    .build();

我以Response.xls的形式获得响应,但是现在当我将poi-ooxml库与以下代码一起使用时,我得到的响应没有文件扩展名:

return Response.ok(entity)
    .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=abc.xlsx")
    .type("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    .build();

注意:我是从邮递员处调用此API,xlxs的MIME类型不正确吗?文件内容和所有内容都是正确的,唯一的问题是文件扩展名未附加到文件名中。

2 个答案:

答案 0 :(得分:0)

您还应该检查http请求。 如果可能,请向我们提供确切的请求以及有效的有效载荷。

答案 1 :(得分:0)

问题出在邮递员,邮递员无法像浏览器那样工作。当使用浏览器调用相同的API时,它表现出色,没有任何问题。尽管使用邮差进行此类文件下载测试,还是最好使用 RESTLET CLIENT 。在这种情况下,Restlet Client就像一个魅力。