Swagger下载的zip文件无法打开,而且大小比直接下载的要大

  以前写的一个rest提供的是浏览器下载zip包的功能,前端界面调用rest可以正常地下载。

今天使用Swagger来调试下载功能时,发现下载的zip包打不开,而且大小也比直接在浏览器中输入rest地址下载的zip包要大。

浏览器中输入rest地址下载的zip包是好的,大小也是对的。

rest的@ApiOperation注解的produces属性需要配置为"application/octet-stream"

@ApiOperation(value = "下载zip", produces = "application/octet-stream")

  

response设置如下:

response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=test.zip");

 Content-Disposition参数:attachment --- 作为附件下载   inline --- 在线打开

application/octet-stream是MIME类型。 不清楚具体的类型时,可以指定为二进制类型

‘doc‘        => ‘application/msword‘,
    ‘bin‘        => ‘application/octet-stream‘,
    ‘exe‘        => ‘application/octet-stream‘,
    ‘so‘        => ‘application/octet-stream‘,
    ‘dll‘        => ‘application/octet-stream‘,
    ‘pdf‘        => ‘application/pdf‘,
    ‘ai‘        => ‘application/postscript‘,
    ‘xls‘        => ‘application/vnd.ms-excel‘,
    ‘ppt‘        => ‘application/vnd.ms-powerpoint‘,
    ‘dir‘        => ‘application/x-director‘,
    ‘js‘        => ‘application/x-javascript‘,
    ‘swf‘        => ‘application/x-shockwave-flash‘,
    ‘xhtml‘        => ‘application/xhtml+xml‘,
    ‘xht‘        => ‘application/xhtml+xml‘,
    ‘zip‘        => ‘application/zip‘,
    ‘mid‘        => ‘audio/midi‘,
    ‘midi‘        => ‘audio/midi‘,
    ‘mp3‘        => ‘audio/mpeg‘,
    ‘rm‘        => ‘audio/x-pn-realaudio‘,
    ‘rpm‘        => ‘audio/x-pn-realaudio-plugin‘,
    ‘wav‘        => ‘audio/x-wav‘,
    ‘bmp‘        => ‘image/bmp‘,
    ‘gif‘        => ‘image/gif‘,
    ‘jpeg‘        => ‘image/jpeg‘,
    ‘jpg‘        => ‘image/jpeg‘,
    ‘png‘        => ‘image/png‘,
    ‘css‘        => ‘text/css‘,
    ‘html‘        => ‘text/html‘,
    ‘htm‘        => ‘text/html‘,
    ‘txt‘        => ‘text/plain‘,
    ‘xsl‘        => ‘text/xml‘,
    ‘xml‘        => ‘text/xml‘,
    ‘mpeg‘        => ‘video/mpeg‘,
    ‘mpg‘        => ‘video/mpeg‘,
    ‘avi‘        => ‘video/x-msvideo‘,
    ‘movie‘        => ‘video/x-sgi-movie‘

  

原文地址:https://www.cnblogs.com/lnlvinso/p/11973735.html

时间: 2024-07-30 08:03:21

Swagger下载的zip文件无法打开,而且大小比直接下载的要大的相关文章

解决:解压zip文件却变成cpgz文件

众所周知,zip是一种压缩文件格式,MAC OS默认支持的文件格式,当时偶尔当你打开zip文件想要解压时,却自动变成了cpgz文件而没有解压,再双击这个cpgz文件,Archive Utility又会把其变回zip.这是为什么呢? 导致这种情况的原因有一下几点: 1.zip文件已经损坏: 2.zip文件下载时没有下载完全: 3.浏览器在下载或者下载完成zip文件时,对其进行了错误处理: 4.bug导致. 解决这个zip-cpgz循环有多种方法,首先你可以验证一下你的zip文件md5 hash或者

下载的chm文件打不开问题

下载的chm文件无法打开,是因为此文件是在其它电脑上编辑的,上面留有原电脑的信息,当下载打开时,发现电脑信息不一致,因此会将应用锁定. 操作:文件  -->  属性  -->常规 -->安全 -->解除锁定 --> 应用 即可.

CHM文件无法打开的解决方法

目录: 一.正确操作方法二.出现空白页面或该页无法显示的错误三.不能打开文件mk:@*.chm四.XP系统无法打开chm文件的解决方法五.在英文操作系统下无法打开六.chm文件不能运行七.Hhctrl.ocx文件版本不对 一.正确操作方法1.鼠标右键单击该CHM文件,在右键快捷窗口中选择"打开方式"-"Microsoft HTML Help Executable":2.如果出现一个提示窗口,大意是说,该CHM文件的发行商未知等,是否确定打开.请一定要将"每

【Kettle】数据整合之FTP下载+本地照片文件导入Oracle数据库

一.数据整合业务场景     1.1 背景 因GA某系统进行调整,导致原先从该系统备份数据库获取的相应数据资源无法正常获取,后续的数据统一由GA某系统每日将前一日的ZTRY照片数据压缩后上传到指定的FTP服务器上,需要从该FTP上下载下来,解压后将JPEG照片数据解析加载进入数据库.     1.2 目标 需要建立作业可以定时从FTP下载服务器将ZIP文件下载到本地指定文件夹,将ZIP文件解压后,获得JPEG格式照片,通过Kettle转换将照片进行解析,同时按照一定的规则将照片的名字等信息解析拼

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

office 2007各种格式附件下载后变成zip文件问题解决方法

从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的文件名也会成为zip为扩展后缀的文件.其实出现这样的情况,是由于IE中对下载文件类型的判断,假如找不到相应后缀的MIME的话,会自动根据数据流来判断文件的类型,而微软对Office2007的格式做了和以前完全不同的处理.     以

IE8下载docx文件发现后缀变为.zip文件

公司2015-11-09日发现IE8下载docx文件时后缀变为.zip为结尾的文件 后经发现排查后发现传送流无法识别后缀导致, 默认当成普通数据流传送了 解决方法: 导致原因: 从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的文件名也会成为zip为扩展后缀的文件.其实出现这样的情

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 http://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipAr

gradlew wrapper使用下载到本地的gradle.zip文件装配--转

原文地址:http://www.myexception.cn/mobile/1860089.html gradlew wrapper使用下载到本地的gradle.zip文件安装.使用gradlew来build项目时,有时候老是需要下载gradle-2.2.1-all.zip安装来安装.但是因为gradle-2.2.1-all.zip老是被墙下不了.这里说一种从本地安装的方法. 1. 先下载gradle-2.2.1-all.zip包.2. 把下载好的zip包放到{project.dir}\grad