上传头像-前端页面BUG优化

1.更改默认的头像大小限制

SpringMVC默认为1MB文件可以进行上传,手动的去修改SpringMVC默认上传文件的大小

方式1:

直接在配置文件中配置,在文件application.properties中进行配置

# spring.servlet.multipart.maxFileSize=10MB
# spring.servlet.multipart.maxRequestSize=10MB

方式2:

需要采用java代码的形式来设置文件的上传大小的限制.主类中进行配置,可以定义一个方法,必须使用@Bean修饰来修饰。在类的前方添加@Configration注解进行修改类。MutipartConfigElement类型。

@Configuration   //表示配置类
@SpringBootApplication
@MapperScan("com.cy.store.mapper")
public class StoreApplication {

    public static void main(String[] args) {
        SpringApplication.run(StoreApplication.class, args);
    }

    @Bean
    public MultipartConfigElement getMultipartConfigElement() {
        // 创建一个配置的工厂类对象
        MultipartConfigFactory factory = new MultipartConfigFactory();
        // DataSize dataSize = DataSize.ofMegabytes(10);
        // 设置文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB
        // 创建需要创建的对象的相关信息
        factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
        factory.setMaxRequestSize(DataSize.of(10, DataUnit.MEGABYTES));
        // 设置总上传数据总大小10M
        // 通过工厂类类创建MultipartConfigElement对象
        return factory.createMultipartConfig();
    }
}

2.显示头像

在页面中通过ajax请求来提交文件,提交完成后返回了json串,解析出data中的数据,设置到img头像标签的src属性上就可以了

~serialize():可以将表单数据自动拼接成key=value的结构进行提交给服务器,一般提交是普通的控件类型的数据(text\password\radio\checkbox)等等。

~FormData类:将表单中数据保持原有的结构进行数据的条件。
new FormData($("#form")[0]);//文件类型的数据可以使用FormData对象进行存储
~ajax默认处理数据时按照字符串的形式进行处理,以及默认会采用字符串的形式进行提交数据。

3.登录后显示头像

可以更新头像成功后,将服务器返回的头像路径保存在客户端cookie对象,然后每次检测到用户打开上传头像页面。在这个页面中通过ready()方法来自动检测去读取cookie中头像并设到src属性上。
1.设置cookie中的值:
导入cookie.js文件

<script src="../bootstrap3/js/jquery.cookie.js" type="text/javascript"
 charset="utf-8"></script>

调用cookie方法

$.cookie(key,value,time);//单位为天

2.在upload.html页面先引入cookie.js文件

<script src="../bootstrap3/js/jquery.cookie.js" type="text/javascript" 
charset="utf-8"></script>

3.在upload.html页面通过ready()自动读取cookie中的数据

$(document).ready(function () {
				console.log("cookie中的avatar=" + $.cookie("avatar"));
				//将cookie值获取出来设置到头像的src属性上
				$("#img-avatar").attr("src", $.cookie("avatar"));
			});

4.显示最新的头像

在更改完头像后,将最新的头像地址,再次保存到cooike中,同名保存会覆盖有cooike中的值

$.cookie("avatar", json.data, {expires: 7});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

协奏曲❤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值