解决 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三个框架完成. 前后端通过跨域实现接口调用,中间也发现了不少问题,尤其是在富文 ...
随机推荐
- kNN(K-Nearest Neighbor)最邻近规则分类
KNN最邻近规则,主要应用领域是对未知事物的识别,即推断未知事物属于哪一类,推断思想是,基于欧几里得定理,推断未知事物的特征和哪一类已知事物的的特征最接近: K近期邻(k-Nearest Neighb ...
- __attribute__ ((attribute-list))
http://blog.csdn.net/ithomer/article/details/6566739 构造与析构: #include <stdio.h> #include <st ...
- MVC批量更新,使用jQuery Template
在"MVC批量更新,可验证并解决集合元素不连续控制器接收不完全的问题"中,当点击"添加"按钮的时候,通过部分视图,在界面上添加新行.本篇体验使用jQuery T ...
- KJBitmap与KJHttp的深度用法
摘要 本文原创,转载请注明地址:http://kymjs.com/code/2015/09/24/01这篇文章是对KJFrameForAndroid使用的一个深入学习 之前写过一些有关KJFrame的 ...
- sql查询前后两位
SQL排名的问题,A这个人在数据库里排第十,怎么查询一个他前面两位,后面两位,包括自己的五条数据,各位有啥高招? DECLARE @table TABLE ( id INT PRIMARY KEY , ...
- Informatica 常用组件Source Qualifier之九 创建SQ转换
可以配置 Designer 在您将源拖到映射中时默认创建源限定符转换,您也可以手动创建源限定符转换. 默认创建源限定符转换 可以配置 Designer 在您将源拖到映射中时自动创建一个源限定符转换. ...
- C# WinForm开发系列 - GDI+【转】
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI ...
- ListView 设置列对齐方式
<ListView.Resources> <Style TargetType="ListViewItem"> <Setter Property=&qu ...
- 在CentOS/RHEL上设置SSH免密码登录
本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录.自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件. SSH 是开源的, ...
- Jmeter-Maven-Plugin高级应用:Adding additional libraries to the classpath
Adding additional libraries to the classpath Pages 12 Home Adding additional libraries to the classp ...