ajaxfileupload.js上传文件时后台用java怎么接收文件流
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajaxfileupload.js上传文件时后台用java怎么接收文件流相关的知识,希望对你有一定的参考价值。
参考技术A 现在,大体有两种:一种是直接解析、接收流,如使用smartupload等组件。另一种,使用struts等框架接收。本回答被提问者和网友采纳 参考技术B 首先java文件里面 你User aUser = new User();你虽然new了这个实体,但是你并没有给这个实体赋值,new出来的实体里面的所有属性都是null的。所以你输出再回是null。然后是jsp文件你输出的是null说明你的response.userName值就是null,利用ajaxfileupload.js异步上传文件
1、引入ajaxfileupload.js
2、html代码
<input type="file" id="enclosure" name="enclosure"> <button id="upClick" >上传</button>
注意这里的input控件的id和name必须一致;这样在后台利用springMVC接受文件的时候能对应起来;
3、JS代码
<script type="text/javascript"> $(document).ready(function(){ $("#upClick").click(function(){ $.ajaxFileUpload( { url:‘MyMail/addEnclosure‘, secureuri:false, fileElementId:‘enclosure‘, //文件选择框的id和name要一样的名字 dataType: ‘json‘, success: function (data, status){
//这里的返回值利用JSON $(‘#filePath‘).val(data[‘filePath‘]); $(‘#result‘).html(data[‘message‘]); },error: function (data, status, e){ $(‘#result‘).html(data[‘message‘]); } } ); }); }); </script>
4、springMVC的controller
1 /*** 2 * 上传附件 3 * @return 4 */ 5 @RequestMapping("/addEnclosure") 6 public @ResponseBody String uploadFile(@RequestParam("enclosure") CommonsMultipartFile file){ 8 JSONObject object = new JSONObject(); 9 object.put("filePath", file.getOriginalFilename());10 String returnJson = ""; 11 try { 12 //使用ajaxfileupload.js异步上传文件,返回值乱码,重新编码处理 13 returnJson = new String(JSONObject.fromObject(object).toString().getBytes("utf-8"),"iso-8859-1"); 14 } catch (UnsupportedEncodingException e) { 15 e.printStackTrace(); 16 } 17 return returnJson; 18 }
以上是关于ajaxfileupload.js上传文件时后台用java怎么接收文件流的主要内容,如果未能解决你的问题,请参考以下文章
ajaxFileUpload上传文件时,自定义参数data后台获取为null的问题
使用jquery的ajaxfileupload.js和struts2无刷新上传文件出错