最近在使用Swagger生成项目的API说明文档,其中就碰到了不能下载文件的问题,困惑了我好几天,终于一次意外解决了问题,后面去深入的了解了一下。
错误代码

 @ResponseBody@RequestMapping(value = "/downloadInfo")@ApiOperation(value = "下载信息", httpMethod = "GET", notes = "下载符合条件的Excel",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)public ResultBody downloadInfo(HttpSession session,HttpServletRequest request, HttpServletResponse response) {String filename = StringUtil.encodeDownloadFileName("DownloadInfo" + DateUtil.yyyyMMdd.format(new Date()) + ".xlsx", userAgent);response.setHeader("Content-disposition", "attachment; filename=" + filename);response.setContentType("application/vnd.ms-excel");}

使用上面的代码始终不能下载,一直报错:
org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
最后看了MediaType中罗列的contentType,发现根本就没有application/vnd.ms-excel,有application/octet-stream,使用流下载文件,最后成功解决不能下载的问题


正确代码

 @ResponseBody@RequestMapping(value = "/downloadInfo")@ApiOperation(value = "下载信息", httpMethod = "GET", notes = "下载符合条件的Excel",produces =    MediaType.APPLICATION_OCTET_STREAM_VALUE)public ResultBody downloadInfo(HttpSession session,HttpServletRequest request, HttpServletResponse response) {String filename = StringUtil.encodeDownloadFileName("DownloadInfo" + DateUtil.yyyyMMdd.format(new Date()) + ".xlsx", userAgent);response.setHeader("Content-disposition", "attachment; filename=" + filename);}

注意要去掉setContentType

Swagger怎么下载文件相关推荐

  1. swagger接口下载文件

    注意!!!!!!!!!!!!swagger下载的文件是损坏的!!!!!!!!!! 所以在浏览器直接输入一下路径就能下载了

  2. swagger文档无法测试下载文件的接口解决方式

    在开发中偶尔会遇到需要下载文件的接口,文件输入输出流的使用和转换的操作 当接口开发完毕的时候去swagger文档中测试发现结果只是乱码如下图: swagger文档通常情况下是没法测试下载接口的,需要修 ...

  3. swagger knife4j 解决接口下载文件响应乱码问题

    ** 在@ApiOperation注解中加上produces = "application/octet-stream" ** 添加效果如图所示: @ApiOperation(val ...

  4. Blazor 中如何下载文件到浏览器

    Blazor 中如何下载文件到浏览器 目录 一.前言 二.方法一(导航跳转) 三.方法二(下载后传出) (一) 使用 RestSharp 下载 (二) 使用 BlazorDownloadFile 传出 ...

  5. Minio(储桶bucket)上传和下载文件【Java】(图片转流、base64)

    此处先将图片下载到本地,再进行转换 MinIO是一个对象存储服务,非常轻量 Java Api 依赖: <dependency><groupId>io.minio</gro ...

  6. Java获取流形式上传下载文件

    废话不多说,直接上代码: 1:pom中添加一下依赖: <!--druid数据源--><dependency><groupId>com.alibaba</gro ...

  7. EasyExcel+elementUI+vue 上传、下载文件实例

    本文为 easyexcel使用具体实例,包含前后端代码,前端使用 vue + elementUI+axios,后端使用 spring boot. 1. 上传文件 1.1. 后端 1.1.1. 添加依赖 ...

  8. 用python下载文件的若干种方法汇总

    压缩文件可以直接放到下载器里面下载的 you-get 连接 下载任意文件 重点 用python下载文件的若干种方法汇总 写文章 用python下载文件的若干种方法汇总 zhangqibot发表于Met ...

  9. 初级版python登录验证,上传下载文件加MD5文件校验

    服务器端程序 import socket import json import struct import hashlib import osdef md5_code(usr, pwd):ret = ...

  10. linux快捷上传下载文件

    借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混): ...

最新文章

  1. Symfony3.0 实践教程 (三) 安装与配置Symfony
  2. ASP.NET 获取上一个页面的Url链接
  3. python代码块-python一些常用代码块
  4. 2021年茅台销售现新套路,限价控价没有用?
  5. 斐波那契数列不用数组_兔子数列——斐波那契数列
  6. c语言程序设计的实验仪器和设备,C语言程序设计实验.doc
  7. 快速学习javascript 整体架构方法
  8. SilverLight中的基本图形(转)
  9. java学习笔记(3.31)
  10. Linux——CentOS7安装gcc编译器详解
  11. 对无序的边界点排序(顺时针绘制边界)
  12. c语言求余的方法,c语言求余的实现方法_后端开发
  13. 学习 MySQL 需要知道的 28 个小技巧
  14. 计算机休眠会断电吗,win7休眠后能将电脑断电吗?
  15. 取消windos开机时的磁盘检查,提升开机速度
  16. 涂抹oracle扩库,涂抹oracle
  17. leet55.跳跃游戏
  18. DecisionTreeClassifier实例:Iris莺尾花分类
  19. Lazada和Shopee选品分析之马来西亚电商市场详解-海鲸跨境
  20. 云服务器是干什么的 通俗易懂地解释一下

热门文章

  1. Samsung Pay和Finablr宣布跨境支付合作
  2. _beginthread 与 _endthread 函数分析 (ReactOS版)
  3. 74LS138译码器实现2位二进制乘法器-QuartusII 软件仿真
  4. Python之网络编程学习笔记
  5. 无线通信原理之OFDM技术
  6. 神经网络自适应反馈控制设计
  7. 应用随机过程-复习笔记-Chapter4-关于期望的各态历经性习题答案
  8. Linux系统删除文件夹命令
  9. 无人机怎么设定航线_飞行航线设置方法及装置与流程
  10. win7计算机个性化设置,Win7系统如何进行个性化设置 Win7系统个性化设置方法【详解】...