layui文件上传,在点击提交的时候才上传图片

    在layui上传图片的时候,主要是分两步,首先点击上传图片按钮,再此按钮上绑定图片上传的id,在这里请求后台上传文件接口,后台接口返回上传图片的路径值,然后再是提交表单把这个路径值提交到后台存到数据库。

    这里有个问题就是,如果点击一次就请求一下上传图片的接口,就会上传一张图片,放到服务器上,而如果这张图片并不是你想要的,又点击了一下上传图片更改了一下,那又会上传一张图片到服务器上,这样只有最后一张图片才是真正有利用价值的图片,其他在这之前的,都是没用的图片,造成服务器内存占用。针对这个在layui有一个属性

auto: false,bindAction: '#adminprogram-btn'

这是把自动上传关掉,配合第二个属性使用,用id绑定一个提交按钮,直到点击这个提交按钮之后图片才会请求后台接口,上传到服务器上,这里存在一个问题就是,提交按钮同时绑定了两个事件,一个是提交表单的监听,一个是这个图片上传的,而layui总是先执行获取数据在执行的上传图片,这样图片的路径值就一直有问题,对于这个问题,我在表单里面加了一个隐藏框,在上传成功的时候把后台接口返回的路径值赋值给隐藏框的value值,然后在获取数据的时候放到弹出层点击确定之前,在获取数据的时候用js重新获取隐藏框里面的value值,因为在提交的时候回调的data值里面的图片值是空的,接口还没有请求成功给隐藏框赋值。

附上代码:

上传成功之后给隐藏框赋值

在弹出确定层之后获取数据,图片的name值重新获取

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值