所有分类
  • 所有分类
  • 未分类

Knife4j–解决下载文件乱码的问题

简介

说明

本文介绍Knife4j如何解决下载文件不显示下载按钮,返回的是乱码的问题。

相关网址

文件下载始终是Knife4j.txt · Issue #I374SP · 萧明/knife4j – Gitee.com

注意

在Knife4j2.x版本中是可以解决这个问题的。由于OpenAPI3的规范中没有对API接口的produces描述,所以无法解决。所以建议使用knife4j-spring-boot-starter依赖,它是2.x版本的;不建议使用knife4j-springdoc-ui依赖,它是3.x版本的。

问题复现

在SpringBoot中,通过response流导出Excel,结果如下(没有下载按钮,响应内容中直接是乱码):

解决方案

在@ApiOperation注解中加上:

produces = "application/octet-stream"

如下:

@ApiOperation(value = "导出库存数据", produces = "application/octet-stream")
@PostMapping("exportStorage")
public void exportStorage(@RequestBody StorageQueryBO storageQueryBO) {
    storageService.exportExcel(storageQueryBO);
}

结果

点击“下载文件”

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录