1.打印头信息

@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public List<UploadResult> upload(@RequestParam(name = "files", required = true) MultipartFile[] multipartFiles,
@RequestHeader HttpHeaders httpHeaders,
@RequestHeader(name = "content-range", required = false) String contentRange,
@RequestHeader(name = "content-disposition", required = false) String contentDisposition,
@RequestHeader(name = "Block-Index", required = false) Integer blockIndex,
@RequestHeader(name = "Block-Total", required = false) Integer blockTotal,
@RequestHeader(name = "Block-Done", required = false) String blockDone )
System.out.println("-----------------------------------------------------------");
Iterator<String> headerNames = httpHeaders.keySet().iterator();
while (headerNames.hasNext()) {
String key = headerNames.next();
List<String> valueList = httpHeaders.getValuesAsList(key);
String valueStr = "";
for (String value : valueList) {
valueStr += "|" + value;
}
System.out.println(key + " --> " + valueStr);
}
System.out.println("-----------------------------------------------------------");
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = headerNames.nextElement();
String value = request.getHeader(key);
System.out.println(key + " --> " + value);
}

2.打印form参数

Map<String, String[]> parameterMap = request.getParameterMap();
Iterator<Entry<String, String[]>> iterator = parameterMap.entrySet().iterator();
System.out.println("--form--------------------------");
while (iterator.hasNext()) {
Entry<String, String[]> keyValues = iterator.next();
String key = keyValues.getKey();
String[] values = keyValues.getValue();
System.out.println("--form--------------------------" + key + " --> ");
}

3.打印上传文件

System.out.println("-------------------getParts---------------");
Collection<Part> parts = multipartRequest.getParts();
for(Part part: parts) {
String name = part.getName();
String contentType = part.getContentType();
if(contentType == null) {
InputStream inputStream = part.getInputStream();
int length = inputStream.available();
byte[] bytes = new byte[length];
int len = inputStream.read(bytes);
String value = new String(bytes, "utf-8");
System.out.println(name + " --> " + contentType + " --> " + len + " --> " + value );
} }
System.out.println("-------------------getParts---------------");

SpringBoot取出信息的更多相关文章

  1. SpringBoot配置分析、获取到SpringBoot配置文件信息以及几种获取配置文件信息的方式

    Spring入门篇:https://www.cnblogs.com/biehongli/p/10170241.html SpringBoot的默认的配置文件application.properties ...

  2. 基于Docker+Prometheus+Grafana监控SpringBoot健康信息

    在微服务体系当中,监控是必不可少的.当系统环境超过指定的阀值以后,需要提醒指定的运维人员或开发人员进行有效的防范,从而降低系统宕机的风险.在CNCF云计算平台中,Prometheus+Grafana是 ...

  3. Springboot国际化信息(i18n)解析

    国际化信息理解 国际化信息也称为本地化信息 . Java 通过 java.util.Locale 类来表示本地化对象,它通过 “语言类型” 和 “国家/地区” 来创建一个确定的本地化对象 .举个例子吧 ...

  4. SpringBoot日记——信息修改PUT篇

    我们常用的功能,除了post和get,还有put和delete,这篇文章就介绍一下这个put的基本用法. 页面跳转和回显 1. 首先,我们之前的页面已经将添加和修改的按钮都做好了,那么如何实现这些按钮 ...

  5. SpringBoot错误信息总结(不定时更新)

    1." java.lang.IllegalStateException: @Bean method ShiroConfig.cacheManager called as a bean ref ...

  6. spring-boot启动信息中non-fatal error

    java.lang.ClassNotFoundException: org.springframework.data.web.config.EnableSpringDataWebSupport缺少依赖 ...

  7. (转)springBoot 配置信息一览

    原文链接:https://cloud.tencent.com/developer/article/1360699

  8. xmpp整理笔记:发送图片信息和声音信息

    图片和音频文件发送的基本思路就是: 先将图片转化成二进制文件,然后将二进制文件进行base64编码,编码后成字符串.在即将发送的message内添加一个子节点,节点的stringValue(节点的值) ...

  9. PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

随机推荐

  1. Android 使用 Camera2 完成预览和拍照

    Android API 21新增了Camera2,这与之前的camera架构完全不同,使用起来也比较复杂,但是功能变得很强大. 在讲解开启预览之前,首先需要了解camera2的几个比较重要的类: Ca ...

  2. typescript handbook 学习笔记1

    概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...

  3. python库函数Map, Filter and Reduce的用法

    python中有三个函数式编程极大的简化了程序的复杂性,这里就做一下讨论和记录. 一 Map:应用在链表输入所有元素的函数,它的格式如下所示: map(function_to_apply, list_ ...

  4. Django--文件上传和下载,自测试可用

    html <div class="form-group col-sm-offset-2 col-sm-10"> <label for="exampleI ...

  5. Intellij-插件安装-JRebel热部署插件安装

    环境介绍: Win7.JDK1.8.maven+jetty插件.SpringMVC.Intellij IDEA 2018.1.2 安装插件: 在线安装: Settings --> Plugins ...

  6. mysql 开发进阶篇系列 40 mysql日志之二进制日志下以及查询日志

    一.binlog 二进制其它选项 在二进制日志记录了数据的变化过程,对于数据的完整性和安全性起着非常重要作用.在mysql中还提供了一些其它参数选项,来进行更小粒度的管理. 1.1 binlog-do ...

  7. mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)

    一.概述 由于服务器生成的二进制日志文件以二进制格式保存,所以如果要想检查这些文件的文本格式,就会用到mysqlbinlog日志管理工具. mysqlbinlog的语法如下: mysqlbinlog ...

  8. Code Complete-13/7/29

    Measure Twice,Cut Once! 漫步到第三章: just is about upstream prerequisites. 在构建活动开始之前,准备工作要做的周全. Upstream ...

  9. JVM内存区域划分及垃圾回收

    第一部分.闲扯+概述 近来在研读<深入理解java虚拟机>一书,读完之后做个小结,算是记录一下自己的学习所得,在成长的路上,只能死磕. 要理解JVM,就要先从其内存区域划分开始,知道其由几 ...

  10. 使用Scratch进行少儿编程

    在上一篇<初识少儿编程>曾提到过Scratch的脚本标签内包含10大模块,本文将围绕这10大模块展开,分为两部分:积木和编程概念,结合<动手玩转Scratch2.0编程―STEAM创 ...