前段页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html > <html> <head> <title>个人信息</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="width=device-width; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.0;user-scalable=no" name="viewport"> <meta content="640" name="MobileOptimized"> <meta content="YES" name="apple-touch-fullscreen"> <meta content="yes" name="apple-mobile-web-app-capable"> <link href="${ROOT_PATH }content/css/staff/employee.css" type="text/css" rel="stylesheet"/> <link href="${ROOT_PATH }content/css/staff/font-awesome.min.css" type="text/css" rel="stylesheet"/> <script src="${ROOT_PATH }content/scripts/jquery-1.10.1.min.js"></script> <script src="${ROOT_PATH }content/scripts/jquery.form.js"></script> <script src="${ROOT_PATH }content/scripts/staff/staff.js"></script> </head> <body> <form action="${ROOT_PATH }Staff/index/upload" name="stafform" id="stafform" method="post"> <c:set var="head" value="${ROOT_PATH }content/images/staff/photo.png"/> <c:if test="${!empty staff.imageurl.value }"> <c:set var="head" value="${staff.imageurl.value }"/> </c:if> <c:set var="headx" value="${ROOT_PATH }content/images/staff/img1.jpg"/> <c:if test="${!empty staff.imageurlb.value }"> <c:set var="headx" value="${staff.imageurlb.value }"/> </c:if> <div class="avatar"><a class="photo" href="#"><img id="imghead" src="${head}"/><input id="imagev" name="image" onchange="previewImage(this)" type="file" class="photo_put" value="" /></a><input type="text" name="hm" value="${staff.staffename.value}"/></div> <div class="per_infor_box"> <ul class="per_infor"> <li><label>门 店</label><input type="text" value="${staff.commpanyName.value}" disabled="disabled" /></li> <li><label>职 位</label><input type="text" value="${staff.position.value }" disabled="disabled"/></li> <li><label>姓 名</label><input type="text" value="${staff.staffname.value }" disabled="disabled"/></li> <li><label>手 机</label><input type="text" value="${staff.mobilephone.value }" disabled="disabled"/></li> <li><label>工 龄</label><input type="text" value="${staff.workTime.value }" disabled="disabled"/></li> <li><label>身份证</label><input type="text" value="${staff.pccid.value }" disabled="disabled"/></li> <li><label>自我介绍</label><textarea disabled="disabled">${staff.description.value }</textarea></li> </ul> </div> <div class="bottom infor_bot"> <input class="present" type="submit" value="提 交"/> </div> </form> </body> <script type="text/javascript"> $(function () { $('#stafform').submit(function () { var options = { dataType: 'json', success: function (txt) { if (txt.isok) { alert("保存成功"); location.reload(true); return false; } else { alert(txt.data); return false; } } }; $('#stafform').ajaxSubmit(options); return false; }); }); </script> </html>
后台代码:
package amani.wechat.platform.controller; import java.io.IOException; import java.util.Date; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import javax.xml.bind.JAXBElement; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import amani.wechat.platform.controller.model.Result; import amani.wechat.platform.services.ICommonService; import amani.wechat.platform.utils.CompressPic; import amani.wechat.platform.webserviceClient.StaffHairDesignerInfo; import amani.wechat.platform.webserviceClient.Staffinfo; import amani.wechat.platform.webserviceClient.imageService.ImageCloudService; import amani.wechat.platform.webserviceClient.imageService.ImageCloudServicePortType; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @Controller @RequestMapping("/Staff") public class StaffController { @Resource(name="CommonService") ICommonService commonService ; static ImageCloudServicePortType aImageCloudServicePortType; static{ ImageCloudService aImageCloudService = new ImageCloudService(); aImageCloudServicePortType = aImageCloudService.getImageCloudServiceHttpPort(); } /** * 更新头像和昵称 * @param image * @param hm * @param session * @return * @throws IOException */ @RequestMapping(value = "/index/upload", method = RequestMethod.POST) @ResponseBody public Result indexUpload(@RequestParam(value = "file", required = false)MultipartFile image, String hm, HttpSession session) { String imagePath = ""; String imagebPath = ""; Result res = new Result(); String openid = session.getAttribute("openid")+""; res.setIsok(true); if(image!=null){ String fileName = new Date().getTime() + "_" + image.getOriginalFilename(); String key = fileName; try { byte[] img = CompressPic.compressPic(image.getInputStream(), 300, 300); imagePath = aImageCloudServicePortType.uploadFile(img, "amani", key); Gson gson = new Gson(); Map<String, String> map = gson.fromJson(imagePath, new TypeToken<Map<String, String>>(){}.getType()); imagePath = map.get("url"); } catch (Exception e) { e.printStackTrace(); } } commonService.updateStaffInfo(openid, hm, imagePath, imagebPath); return res; } }
改成
@RequestParam(value = "file",就ok了