回到顶部

×
原图

Ajax使用formData提交带图片上传的表单

<form id="form1"  enctype="multipart/form-data">
            <label class="aui-label-control"> 昵称 </label>
                    <input type="text"  name="userName" id="1" > 
            <label class="aui-label-control"> 手机号码 </label>
                    <input type="text"  name="phone" id="2" "/>
            <label class="aui-label-control"> 所在城市 </label>
                    <input type="text"  name="city" id="3"  />
            <label class="aui-label-control"> 更换头像  </label>
                    <input type="file" name="file" id="file" multiple />
                <a onclick="severCheck()" >确认修改</a> 
 </form>

js代码:ajax提交

function severCheck() {
            var formData = new FormData();
            var userName = $("#1").val();
            var file = $("#file")[0].files[0];
            var phone = $("#2").val();
            var userId = $("#userId").val();
            var city = $("#3").val();
            var reg = /^1[34578]\d{9}$/;
            var bool = false;
            if (userName.length < 1 || userName.length > 12) {
               ...
            } else {
                ...
            }
    
            if (phone != "" && !(reg.test(phone))) {
                ...
                return false;
            }
            if ( city != "" && city.length > 10) {
                ...
                    return false;
            }
    
            if (bool) {
                return false;
            }
            
            if (file != "") {
                formData.append("file", file);
            }
            formData.append("city",  city);
            formData.append("userName", userName);
            formData.append("userId", userId);
            formData.append("phone", phone);
            $.ajax({
                type : "POST",
                url : "<%=path%>/editUserInfo",
                data : formData,
                cache : false,
                processData : false,
                contentType : false,
                success : function(data) {
                    window.location.reload();
                    if ("success" == data.msg) {
                       ...
                        window.location.href = "<%=path%>/index";
                    } else if ("error" == data.msg) {
                       ....
                    }
                },
              error:function(data){
                    window.location.reload();
                    if ("success" == data.msg) {
                       ...
                        window.location.href = "<%=path%>/index";
                    } else if ("error" == data.msg) {
                        ....
                    }
              }
            });
        }


后端代码:springmvc接收后端代码

 @RequestMapping("/editUserInfo")
    @ResponseBody
    public JSONObject EditUserInfo(HttpSession session, HttpServletRequest request,
        @RequestParam(value = "file", required = false) MultipartFile file, 
        UserInfo userInfo) {
        JSONObject json = new JSONObject();
       
        // 图片上传
        // 如果文件不为空,写入上传路径
        if (Tools.isNotEmpty(file)) {
            // 循环获取file数组中得文件
            // 上传文件
            String fileName = Tools.saveFile(file, request);
            //图片路径保存到数据库
            userInfo.setHeadUrl(fileName);
        }
        userInfo.setUpdatetime(new Date());
        int result = userInfoService.editUserInfo(userInfo);
        if (result == 1) {
            // session.removeAttribute("pagenum");          
            json.put("msg", "success");

        } else {
            json.put("msg", "error");
        }
        return json;
    }


 var file = $("#file")[0].files[0];

aboutbook1.jpg




留言评论