前段页面:

<%@ 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了

解决 jquery.form.js和springMVC上传 MultipartFile取不到信息的更多相关文章

  1. jquery.form.js实现异步上传

    前台页面 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewpor ...

  2. [Asp.net mvc]jquery.form.js无刷新上传

    写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ...

  3. jquery.form.js ajax提交上传文件

    项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...

  4. jquery.form.js 实现异步上传

    前台: <form id="formSeacrh" action="/ResumeInfo/uploadFile" method="post&q ...

  5. jquery.form 兼容IE89文件上传

    导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...

  6. asp.net使用jquery.form实现图片异步上传

    首先我们需要做准备工作: jquery下载:http://files.cnblogs.com/tianguook/jquery1.8.rar jquery.form.js下载:http://files ...

  7. jQuery.form Ajax无刷新上传错误 (jQuery.handleError is not a function) 解决方案

    今天,随着ajaxfileupload时间firebug财报显示,"jQuery.handleError is not a function"错误.因为一旦使用jQuery.for ...

  8. 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)

    服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...

  9. jQuery File Upload跨域上传

    最近在做一个一手粮互联网项目,方案为前后端分离,自己负责前端框架,采用了Requirejs+avalonjs+jquery三个框架完成. 前后端通过跨域实现接口调用,中间也发现了不少问题,尤其是在富文 ...

随机推荐

  1. Python3使用setuptools

    旧版的setuptools已经不能用于Python3上了,国外有大神fork出了另一分支distribute,它可以支持Python3:     1 2 3 4 5 6 7 #下载 wget http ...

  2. [MySql]windows下设置mysql默认编码

    摘要 在安装好mysql的时候,如果新建数据库或者表默认的编码为latin1,如果这时候插入中文时,出出现类似下面的乱码的问题. SQLException: Incorrect string valu ...

  3. JVM内存模型及垃圾回收算法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. 常用VPS测试工具整理

    来源: http://www.vpser.net/manage/vps-test-tool.html 购买VPS前主要是使用一些网络测试工具如ping.tracert.WinMTR之类的工具进行测试, ...

  5. jsp中生成txt文件

    import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.Writab ...

  6. Java-JDBC调用批处理、存储过程、事务

    一.使用Batch批量处理数据库  当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率.; 1.实现批处理有两种方式,第一种方式: S ...

  7. 我所遭遇过的游戏中间件--Kynapse

    我所遭遇过的游戏中间件--Kynapse Autodesk Kynapse游戏中间件是一款面向游戏开发.非玩家控制角色实时模拟的领先的人工智能解决方案.Kynapse具有先进的路径查找功能,比如三维路 ...

  8. Javascript模块化工具require.js教程

    转自:http://www.w3cschool.cc/w3cnote/requirejs-tutorial-1.html, http://www.w3cschool.cc/w3cnote/requir ...

  9. MSSQL工作中常用的小技巧

    大概看了一下有接近二十天自己没有写博客了,一来是因为国庆之前公司工作总会比较繁杂一点,国庆自己也需要休息,二来是因为学习一些新的东西,公司写了一天SQL回家看了看以前的笔记,感觉还挺不错,贴出来供大家 ...

  10. Angular6

    Structural Directives https://angular.io/guide/structural-directives#template-input-variable There a ...