修改HttpServletRequest的中的参数值
来源:互联网 发布:天刀女神威捏脸数据 编辑:程序博客网 时间:2024/06/06 13:59
利用SpringMVC上传文件,方法A
@RequestMapping(value = "/saveJobInfoFromFile", method = {RequestMethod.POST})@ResponseBodypublic ReturnInfo saveJobInfoFromFile(HttpServletRequest request,HttpServletResponse response);中,我将要循环调用下面的方法B:
@RequestMapping(value = "/saveJobInfo", method = {RequestMethod.POST})@ResponseBodypublic ReturnInfo saveJobInfo(HttpServletRequest request,HttpServletResponse response, String jobJson);
// 创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(servletContext); // 判断 request 是否有文件上传,即多部分请求 if (multipartResolver.isMultipart(request)) { // 转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 取得request中的所有文件名 Iterator<String> iter = multiRequest.getFileNames(); while (iter.hasNext()) { // 取得上传文件 MultipartFile file = multiRequest.getFile(iter.next()); if (file != null) { FileUtils.copyInputStreamToFile(file.getInputStream(), outFile); } } for(Entry<String, List<MultipartFile>> temp:multiRequest.getMultiFileMap().entrySet()){ for(int i = 0;i<temp.getValue().size();i++){ temp.getValue().set(i, null);//clear()估计也可以,删除文件,另外getKey()获得的String是前端上传的name } } }
这里有个很奇怪的地方:
MultiValueMap<String, MultipartFile> getMultiFileMap();返回值是MultiValueMap<String, MultipartFile> ,
但是Entry<String, MultipartFile>却不行,必须写成Entry<String, List<MultipartFile>>
翻翻了源码,原来Entry用的是Map.Entry,而
public interface MultiValueMap<K, V> extends Map<K, List<V>>也告诉了我们他们之间的关系。
最终想了想:这样设计的目的,估计是怕前端出现foo=1,foo=2这样的参数的时候,可以方便的合并吧。
tips:
br = new BufferedReader(new FileReader(outFile)); //code Abr = new BufferedReader(new InputStreamReader(new FileInputStream(outFile),"UTF-8"));//code B
outFile是UTF-8格式,linux下可以正常读取。但是window下读出来是乱码,因为windows默认格式是GBK吧
FileReader是字符流,应该无法设置utf8编码,最后还是改为字节流解决。
0 0
- 修改HttpServletRequest的中的参数值
- 修改HttpServletRequest的参数【转】
- 修改HttpServletRequest的参数【转】
- 继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数
- 继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数
- Jquery 获得url中的参数、将参数的值修改
- 获取HttpServletRequest请求参数的工具类
- HttpServletRequest接收参数的几种方法
- Struts2 HttpServletRequest获取请求参数的过程
- HttpServletRequest&&HttpServletResponse参数的接收和响应
- JavaWeb-利用HttpServletRequest获取参数值
- HttpServletRequest取值中文参数乱码问题
- 将HttpServletRequest中的参数反射至实体类
- HttpServletRequest接口中的getMethod()方法的实现
- JavaWeb开发中的HttpServletRequest的应用
- HttpServletRequest对象中的常用个的方法
- 用HttpServletRequest 获取参数值时,别忘记对中文的处理
- Action中获取HttpServletRequest对象的方法(表单提交值,url传递参数)
- POJ 2186 Popular Cows 强连通分量
- curl参数列表
- 四种软件开发模型对比:
- Maven的Snapshot版本与Release版本
- mongo3.0基础篇
- 修改HttpServletRequest的中的参数值
- LRU Cache
- iOS-AppStore 审核加速
- SDUSTOJ Problem A: 平面上的点——Point类 (I)
- Java_数据结构(哈希表简介)
- HDU 1241 Oil Deposits (搜索水题)
- C语言笔记
- Swift-Array数组操作
- 优化SQL查询:如何写出高性能SQL语句