springboot ResponseEntity<byte[]> 下载文件 byte 都变成base64

因为spring boot消息转换器 ,全部将数据转换为json格式,包括文件的byte数据

关于spring boot 的消息转换器见:https://www.jianshu.com/p/ffe56d9553fd

解决方案如下:

@Configuration
public class CustMvcConfig extends WebMvcConfigurationSupport {
    @Autowired
    private FastJsonHttpMessageConverter fastJsonConverter;

    @Override
    protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        super.configureMessageConverters(converters);
        converters.add(new ByteArrayHttpMessageConverter()); // ByteArrayHttpMessageConverter 必须加在前面,处理byte数据
        converters.add(fastJsonConverter);// fastjsonConverter 必须加在后面 处理json数据
    }
}

  

原文地址:https://www.cnblogs.com/pangguoming/p/10899604.html

时间: 2024-10-07 16:44:23

springboot ResponseEntity<byte[]> 下载文件 byte 都变成base64的相关文章

springboot ResponseEntity&lt;byte[]&gt; 下载文件乱码

spring3以后添加httpMessageConverter消怎机制.其中可以通过org.springframework.http.ResponseEntity<byte[]>对象下载文件. pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

Spring MVC之ResposeEntity下载文件

Spring Mvc中用ResponseEntity方式下载文件如下: @RequestMapping("/download") public ResponseEntity<byte[]> download(HttpServletRequest request,@RequestParam("fileName") String fileName) throws IOException { String path = request.getServletCo

.net下载文件方法

1.以文件流下载 byte[] fileStr=new byte[5]; MemoryStream btMs = new MemoryStream(fileStr); //以字符流的形式下载文件 byte[] bytes = new byte[(int)btMs.Length]; btMs.Read(bytes, 0, bytes.Length); btMs.Close(); Page.Response.ContentType = "application/octet-stream";

ASP.NET MVC铵钮Click后下载文件

本篇Insus.NET练习的是FilePathResult和FileStreamResult操作.本篇也算是<如何把Json格式字符写进text文件中>http://www.cnblogs.com/insus/p/4306640.html续篇.为视图返回文件,前者是已经知道文件路径,后者是根据文件流进行返回.在网上看到下载文件一般都是使用a标签,很少使用Button进行.本篇想使用Button来进行,多一种方式呈现. 比如某一目录下有些文件,让用户下载.我就可以使用上面的操作进行.在控制器创建

webservice文件上传下载(byte[] 实现方式)

测试环境:axis2-1.6.1.6.0.20.jdk1.5 说明:本方式仅适用于文件小于10M的场景(否则会出现内存溢出),大文件的上传下载应另选其他方式. 1.创建要发布成webservice的java类. import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class BlobService { /* * 文件上传服务 */ public bo

多种下载文件方式 Response.BinaryWrite(byte[] DocContent);Response.WriteFile(System.IO.FileInfo DownloadFile .FullName);Response.Write(string html2Excel);

通过html给xls赋值,并下载xls文件 一.this.Response.Write(sw.ToString());System.IO.StringWriter sw = new System.IO.StringWriter(); this.Response.Clear();            string strFileName;            strFileName = "报表" + ".xls";            Response.Buff

C# Stream 与 byte[]、文件的转换

/* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 byte[] 之间的转换 * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte[] StreamToBytes(Stream stream) {     byte[] bytes = n

springboot项目下载文件功能中-切面-导致的下载文件失败的bug

背景:使用spring提供的 ResponseEntity 和Resource结合,实现的下载文件功能 bug:Resource已经加载到了文件, 并且通过 ResponseEntity 构建了响应,但是页面接收不到文件. 原因:目前初步发现是因为我使用的捕获异常的切面导致的,具体切面怎么会导致 响应结构 的改变,暂时没有搞明白,后续研究透了再补充 解决办法:把下载文件的接口排除在切面处理的范围外,就好了. 吃一堑长一智:浪费了差不多一天的时间在这个问题上,很苦恼,希望下次能使用排除法,更高效的

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定