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. myeclipise生成javadoc

    1.点击项目,右键,选择export: 点击next: 点击next:VM options中输入-encoding UTF-8 -charset UTF-8

  2. python实现桶排序算法

    桶排序算法也是一种可以以线性期望时间运行的算法,该算法的原理是将数组分到有限数量的桶里,每个桶再分别排序. 它的算法流程如下所示: 设置一个定量的数组当作空桶子. 寻访序列,并且把项目一个一个放到对应 ...

  3. Tools - Vim

    Vim 简明 Vim 练级攻略 基础设置 在vim界面点击":"然后进行设置,但只会在当前vim界面生效: 添加相关设置在vim配置文件(例如"/etc/vimrc&qu ...

  4. 机器学习基石笔记:10 Logistic Regression

    线性分类中的是非题------>概率题, 设置概率阈值后,大于等于该值的为O,小于改值的为X.------>逻辑回归. O为1,X为0: 逻辑回归假设: 逻辑函数/S型函数:光滑,单调, ...

  5. 使用pipenv隔离不同项目的依赖包

    pipenv可以为不同的路径创建python环境和依赖包,结合pyenv可以达到为不同项目使用不同python版本,不同依赖包的目的. pip install pipenv #安装pipenv 使用p ...

  6. [原创]MOF提权下载者代码

    0x001 网上的mof提权 调用的是js执行添加用户 而且有个缺陷 还不能一步到位...目标3389也连不上...也不知道上面安装了什么软件...毛然添加用户也不好比如有个类似狗之类的拦截添加用户 ...

  7. eval() 和 with()

    作用域完全由写代码时的函数声明所决定,js有两种机制可以实现”破坏“我们对作用域的常规理解,通过eval()和with(). 1. eval()函数接受字符串为参数,并将其中的声明提升到eval()函 ...

  8. Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单

    动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...

  9. S0到S5状态讲解

    ACPI(高级配置和电源管理接口)的六种工作状态Advanced Configuration and Power Management InterfaceACPI表示高级配置和电源管理接口( Adva ...

  10. php获取当前是星期几

    <?php $weekarray=array("日","一","二","三","四",&quo ...