您当前的位置: 首页 >  jquery

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

jQuery 文件上传

梁云亮 发布时间:2021-11-18 13:59:05 ,浏览量:1

页面


    
    修改头像:
    


.......



    function updateAvatar() {
        let formData = new FormData($('#userAvatarForm')[0]);
        formData.append("avatar", $("#img")[0].files[0]);
        formData.append("id", $("#id").val());

        let uploading = false;
        if (uploading) {
            alert("文件正在上传中,请稍候!");
            return false;
        }

        $.ajax({
            url: '/projshow/user/updateAvatar', /*接口域名地址*/
            type: 'POST',
            data: formData,
            contentType: false,
            processData: false,
            dataType: "json",
            beforeSend: function () {
                uploading = true;
                console.log(uploading);
            },
            success: function (res) {
                uploading = false;
                console.log(res);
                if (res.code == 200){
                    $("#userAvatar").attr('src',res.data);
                }
            }
        })
    }

注意:外层的form表单不能省略,form的enctype值必须为multipart/form-data

后台控制器代码
@Slf4j
@Controller
@RequestMapping("/user")
public class UserController {

    @ResponseBody
    @PostMapping("/updateAvatar")
    public Result updateAvatar(@RequestParam("avatar") MultipartFile multipartFile,
                                     Long id ) {
        String avatarUrl = null;
        try {
            avatarUrl = AliOSSUtil.upload(multipartFile);
        } catch (IOException e) {
            throw new GlobalException(408,"图片上传到图片服务器出错");
        }
        User user = User.builder()
                .id(id)
                .avatar(avatarUrl)
                .build();

        userService.updateByPrimaryKeySelective(user);

        return Result.success(avatarUrl);
    }

}
效果

请添加图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.1004s