【JavaScript】ajax头像上传

版权声明:需要转载的话,请先联系我哦! https://blog.csdn.net/wwt20180911/article/details/83089302

HTML:
<img id="photo" name="photo" src="${img }/personmgr/avatar_url.jpg" width="130px" height="140px" onclick="$('#updateFileInput').click();"/>

在img里放个src是在,当这个人没有头像的时候,放一张提示用户上传的图片。

JS
//上传头像
    $("body").append('<form id="uploadFileHiddenForm"><input type="file" name="file" id="updateFileInput" style="display:none;"/></form>');
    $("#uploadFileHiddenForm").change(function(){
        var formData = new FormData($('#uploadFileHiddenForm')[0]);
        $.ajax({                        //发请求给接口
            cache:false,
            contentType: false,
            processData: false,
            url:U('upload/avatarUpload'),    //接口地址
            type:'POST',
            enctype:'multipart/form-data',
            data:formData,
            dataType:'JSON',
            success:function (data) {
                if (data.data.imgs.length > 0) {
                    //上存成功
                    var url = data.data.imgs[0]["thumbnail_url"];
                    $("#photo").attr("src", url);
                    updateHeadImg(url);
                }
            }
        });
    });

在这里插入图片描述
上传成功后的request payload长下面这个样子
上传完了之后可能会对其更新,也就是所谓的修改头像咯,
//更新当前用户头像

  var reqData = "avatar_url=" + url;
    function updateHeadImg(url) {
        $.ajax({
            url:U('personal/modifyPersonalInfo'),
            type:'post',
            dataType:'json',
            data:reqData,
            success:function(data) {

            }
        });
    }

作者:涛兄
来源:CSDN
原文:https://blog.csdn.net/wwt20180911/article/details/83089302
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VueSpringBoot中的头像上传通常涉及到前端使用Vue.js框架处理用户选择图片,然后通过Ajax或axios发送到Spring Boot后端进行存储。这里是一个简单的步骤概述: 1. **前端Vue.js部分**: - 使用Vue CLI创建项目:`vue create your-project` - 安装必要的依赖,如`vue-file-loader`或`axios`用于文件上传。 ```bash npm install vue-file-loader axios ``` 2. **组件中头像上传**: - 在组件模板中,创建一个`<input type="file">`让用户选择图片。 ```html <input type="file" @change="uploadAvatar" /> ``` - 在`methods`中定义`uploadAvatar`方法,接收`event`参数,读取选中的文件。 ```javascript methods: { uploadAvatar(e) { const file = e.target.files; // 对文件进行预处理(如压缩、裁剪),然后调用上传接口 this.upload(file); }, upload(file) { const formData = new FormData(); formData.append('avatar', file); axios.post('/api/avatar', formData, {headers: {'Content-Type': 'multipart/form-data'}}) .then(response => { // 处理上传成功后的逻辑,比如更新用户头像URL }) .catch(error => { // 处理错误 }); } } ``` 3. **后端Spring Boot处理**: - 创建一个API接口,例如`/api/avatar`,接收上传的文件并保存到服务器。 - 可能会用到`MultipartFile`处理文件,并将其保存到数据库或存储服务(如Amazon S3或Spring Cloud Storage)。 4. **安全性和优化**: - 验证上传文件类型和大小,防止恶意文件。 - 使用HTTPS保证数据传输安全。 - 分页或限流处理,避免单个用户同时上传大量图片导致性能问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值