通过前端和swagger调我写的导出excel接口响应内容乱码,但是用postman的send and download却能正常下载,请问下是怎么回事
请求编码要和接口保持一致, 试试gb2312或者utf8
"Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
"Content-Disposition", "attachment;filename=" +"批量导入商户模板.xlsx".getBytes(), StandardCharsets.ISO_8859_1)
除了 reponse 设置一下内容外:
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + "." + ExcelTypeEnum.XLSX.getValue(), "UTF-8"));
还需要在 Controller 的 handle 上面加上 produces="application/octet-stream"
@ApiOperation(produces="application/octet-stream")
@PostMapping(value = "/download/customer" ,produces="application/octet-stream")
正常啊,你这样调用返回的是流,你一个文件要转换成字符显示,可不得出现乱码
在接口@PostMapping注解配置headers="Accept=application/octet-stream"
postman测试导出Excel接口报错乱码
https://blog.csdn.net/weixin_47385625/article/details/118735105