【发布时间】:2017-10-31 01:15:45
【问题描述】:
我正在尝试从基于 RESTEasy 的 Web 服务下载使用 Apache XSSF 生成的 xlsx 文件。
我可以下载文件,但是当双击打开时,它说文件不能打开:
以下是源代码:
网络服务控制器:
@GET
@Path(/download)
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response downloadFile() {
ByteArrayOutputStream baos = myService.processGbiValidationExceptions();
ResponseBuilder response = Response.ok((Object) baos.toByteArray());
response.header("Content-Disposition", "attachment;filename=My_File.xlsx");
return response.build();
}
服务:
public ByteArrayOutputStream processGbiValidationExceptions() {
XSSFWorkbook workbook = new XSSFWorkbook();
// code to write to workbook
// Create stream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
workbook.write(baos);
} catch (IOException e) {
LOGGER.error("Error occurred while writing workbook to stream", e);
throw new IptException(e);
}
return baos;
}
有什么线索我在这里做错了吗?谢谢
P.S.:我在 Mac 上!
【问题讨论】:
标签: java web-services download resteasy xssf