点击button按钮打开file选择图片并使用ajax图片上传并预览

 

最近有个需求让人很无奈,每条记录都需要让用户上传图片。由于使用插件无法准确的定位到那条记录,只好使用ajax上传图片准确获取id

先将file文件隐藏掉,通过点击button打开file选择图片,一些路径可根据自身情况进行更改

<div  class="picker" data="111" onclick="uploads('{$v.master_order_sn}'); " >
        <button class="ct_t_b"  >上传打款凭证</button>
</div>
<input type="file" hidden id="{$v.master_order_sn}" />
<div style="margin: -35px 0 0 60% " >
<img class="{$v.master_order_sn} pimg" src="__PUBLIC__/certificate/{$v.img}" style="width:100px;height:60px;">
                </div>

button点击显示file,id可根据自身情况更改。我的需求为每条记录都要有图片,所以使用数据库的数据作为id来区分每条数据

 function uploads(id)
{
            $("#"+id).trigger("click");
            openuploads(id);
}

后台接收图片时 而不再是普通的string类型的值。而是file类型   也就是文件类型
fromdata提交进行表单 ,ajax实现的图片上传
在ajax中加上processData : false,
                      contentType : false,
                      async:false,

function openuploads(id)
        {
            $("#"+id).change(function(){
                var formdata = new FormData();
                formdata.append('file',$("#"+id)[0].files[0]); //获取图片信息
                formdata.append('ordernumber',id); //
                $.ajax({
                    url : "<?php echo U('uploadscertificate'); ?>",
                    type : 'post',
                    data:formdata,
                    cache:false,
                    dataType:'json',
                    processData:false,
                    contentType:false,
                    success : function (e)
                    {
                        if (e.status)
                        {
                            $('.'+id).attr('src','__PUBLIC__/certificate/'+e.msg);
                        }
                        else
                        {
                            $.alert(e.info,'');
                        }
                    }
                });
            });
        }

效果:

完结!撒花!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值