SpringMVC+ajaxFileUpload 异步上传

来源:互联网 发布:python写搜索引擎 编辑:程序博客网 时间:2024/05/17 05:03

jsp页面

<form id="input_group" enctype="multipart/form-data" method="post" action="upload.do"><input type="file" id="motifImage_hidden" name="motifImage_hidden" class="form-control" accept="image/*" style="display:none;" onchange="javascript:selectImage_setVal(this);">'</form>

function selectImage_setVal(dom){$(dom).parent().find('>#motifImage').val($(dom).val());$.ajaxFileUpload({url: '<%=basePath%>admin/motif/uploadfile.shtml', type: 'post',secureuri: false, //一般设置为falsefileElementId: 'motifImage_hidden', // 上传文件的id、name属性名dataType: 'json', //返回值类型,一般设置为json、application/jsonsuccess: function(data){//下面的值按照个人需求更改$('#motifImage').attr('originImgName',data.filename);$('#motifImage').attr('Imgpath',data.path);$('#motifImage').attr('newImgName',data.newFilename);},error: function(data, status, e){ alert("呵呵");}});}
</pre><p><strong><span style="font-size:24px;">Controller层</span></strong></p><pre name="code" class="javascript">
//图片上传@RequestMapping(value = "uploadfile")public void upload(@RequestParam(value ="motifImage_hidden") MultipartFile myfile,HttpServletResponse response, HttpServletRequest request) throws IOException {JSONObject jsonObject = new JSONObject();String filename = myfile.getOriginalFilename();//图片上传位置//String logoRealPathDir = request.getSession().getServletContext().getRealPath(“/upload”);     String path = "D:\\upload";//文件名更改为时间磋String newFilename = this.getName(filename);File targetFile = new File(path, newFilename);          if(!targetFile.exists()){              targetFile.mkdirs();          }         try {          myfile.transferTo(targetFile);          } catch (Exception e) {              e.printStackTrace();          }          jsonObject.put("filename", filename);        jsonObject.put("path", path+"\\"+newFilename);        jsonObject.put("newFilename", newFilename);response.setContentType("textml;charset=UTF-8");response.setCharacterEncoding("utf-8");response.getWriter().println(jsonObject);}

/** * 依据原始文件名生成新文件名 * @return */private String getName(String fileName) {Random random = new Random();return "" + random.nextInt(10000)+ System.currentTimeMillis() + this.getFileExt(fileName);}/** * 获取文件扩展名 *  * @return string */private String getFileExt(String fileName) {return fileName.substring(fileName.lastIndexOf("."));}


此文章只是个人纪录学习代码的过程,有些参考网上.

1 0