1.当终端往后台发请求参数中包含附件或者图片流的时候,一般用以下方法获取值:
DiskFileItemFactory factory = new DiskFileItemFactory(); // 获得磁盘文件条目工厂。
ServletFileUpload upload = new ServletFileUpload(factory); // 上传处理工具类(高水平API上传处理?)
list = (List<FileItem>) upload.parseRequest(request); // 调用 parseRequest(request)方法 获得上传文件 FileItem 的集合list 可实现多文件上传。
post提交的类型有这几种: multipart/form-data ,multipart/mixed stream,application/json,application/x-www-form-urlencoded;
最开始遇到执行上面最后一行代码的时候报错,结果是更改提交的类型为 “multipart/form-data; boundary=eLCUwcSl5j2soZPaMDJAmLd9OZTYHSivnB6”就可以了。增加了个boundary参数。
for (FileItem item : list) {
//获取表单提交的键值对值 ,如(userName="张飒")
if (item.isFormField()) {
String key = item.getFieldName(); //获取文本内容key
String value = item.getString("UTF-8"); //获取文本值同时转码
}else{
String filedName = item.getName(); //取流文件名(1.jpg)
String fileT = item.getFieldName();//取文件名 (img)
}
}