//从流中获取数据https://www.cnblogs.com/goloving/p/14922208.html
//注意从流中获取数据之前不要从request中读取任何数据,一旦读取数据流将关闭,不要使用:@requestBody、@requestParam、@requestPart、request.getParameter
InputStream requestInputStream = request.getInputStream();
ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int len=0;
while((len=requestInputStream.read(buffer))!=-1) {
byteArrayOutputStream.write(buffer,0,len);
}
String requestParameters = new String(byteArrayOutputStream.toByteArray(),"UTF-8");
System.out.println(requestParameters);
byteArrayOutputStream.flush();
requestInputStream.close();
byteArrayOutputStream.close();
步骤:
1、从请求对象request中获取一个输入流
2、创建一个输出流ByteArrayOutputStream类型的输出流
3、创建一个字节数组用来保存从流中获取的数据
4、从输入流中获取数据并保存到字节数组中requestInputStream.read(buffer)
5、通过输出流将字节数组中的数据输出到byteArrayOutputStream中
6、将byteArrayOutputStream中的数据转成字符串
7、关闭所有的流(必须)