解决 jquery.form.js和springMVC上传 MultipartFile取不到信息
前段页面:
<%@ 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取不到信息的更多相关文章
- jquery.form.js实现异步上传
前台页面 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewpor ...
- [Asp.net mvc]jquery.form.js无刷新上传
写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ...
- jquery.form.js ajax提交上传文件
项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...
- jquery.form.js 实现异步上传
前台: <form id="formSeacrh" action="/ResumeInfo/uploadFile" method="post&q ...
- jquery.form 兼容IE89文件上传
导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...
- asp.net使用jquery.form实现图片异步上传
首先我们需要做准备工作: jquery下载:http://files.cnblogs.com/tianguook/jquery1.8.rar jquery.form.js下载:http://files ...
- jQuery.form Ajax无刷新上传错误 (jQuery.handleError is not a function) 解决方案
今天,随着ajaxfileupload时间firebug财报显示,"jQuery.handleError is not a function"错误.因为一旦使用jQuery.for ...
- 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)
服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...
- jQuery File Upload跨域上传
最近在做一个一手粮互联网项目,方案为前后端分离,自己负责前端框架,采用了Requirejs+avalonjs+jquery三个框架完成. 前后端通过跨域实现接口调用,中间也发现了不少问题,尤其是在富文 ...
随机推荐
- JS仿淘宝左侧菜单
http://www.webdm.cn/webcode/1c724a06-06f4-4c4f-931a-c683285fa700.html
- 多进程多线程GDB调试 (转)
多进程多线程GDB调试 一.线程调试指南: 1. gdb attach pid 挂载到调试进程 2. gdb$ set scheduler-locking on 只执行当前选定线程的 ...
- erlang资料
http://www.cnblogs.com/--00/tag/Erlang/ http://blog.csdn.net/turingbooks/article/details/3247749 htt ...
- android手机安全:被攻陷的一个场景
到处找WIFI,对于我们的手机控来说是相当普遍的了.假设你发现了有可用的wifi,并选择了浏览器连接,当浏览器出现一个web 页面的时候,你可能已经中招了. 相同,当你的手机使用一些免费应用的时候, ...
- MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等
□ 接口 public interface IExceptionFilter{ void OnException(ExceptionContext filterContext);} Except ...
- Ext.QuickTips.init()的使用
在extJS的例子中,大部分都在程序第一行使用了如下语句:Ext.QuickTips.init();但是QuickTips的用处是什么呢?我们看一段最简单的代码: <html> <h ...
- C#常使用的正则表达式
/// <summary> /// 是否为手机号码 /// </summary> /// <param name="value"></pa ...
- 最值得你所关注的10个C语言开源项目
. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接 ...
- 【Other】最近在研究的, Java/Springboot/RPC/JPA等
我的Springboot框架,欢迎关注: https://github.com/junneyang/common-web-starter Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo ...
- 如何使用Octave 在Ubuntu上科学处理音频
Octave 是一个类似于 Linux 上的 Matlab 的软件,它拥有数量众多的函数和命令,支持声音采集.记录.回放以及音频信号的数字化处理,用于娱乐应用.研究.医学以及其它科学领域.在本教程中, ...