前端ajax同时传图片(兼图片展示)与文本信息的方法

第一段的代码是点击上传图片的函数,可以验证图片信息和展示上传的图片,是在网上找的两端代码拼接的,改改就能用了.

 

function PreviewImage(imgFile)
{
    var filextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length);
    filextension=filextension.toLowerCase();
    if ((filextension!='.jpg')&&(filextension!='.gif')&&(filextension!='.jpeg')&&(filextension!='.png')&&(filextension!='.bmp'))
    {
        alert("请上传正确的图片文件,谢谢 !");
        imgFile.focus();
    }
    else
    {
        var size; //自己设定大小
        var imagSize =  document.getElementById("userfile").files[0].size;
        if(imagSize > 1024 * size) {
            alert("图片大小应在"+1024 * size+"M以内");
        }else{
            var path = window.URL.createObjectURL(imgFile.files[0]);//在网上找的方法
            document.getElementById("imgPreview").innerHTML = "<img id='img1' width='120px' height='100px' src='"+path+"'/>";
        }
    }
}

 

 

 

 

 

下面这一段是ajax代码 用formdata建立参数容器,用append方法添加参数就好了,可以同时上传图片与其他信息

//上传身份证modal的submit点击
$('.uploadIdSubmit').click(function(){
    var formdata = new FormData();
    $('#uploadIdModal .form-control').each(function(i, n) {//便利form表单
        if ($(n).attr('param') != undefined) {  //有param属性说明这里的数据是需要上传的
            if($(n).prop('type') == 'file'){   //如果是图片
                var paramName = $(n).attr('param')
                var paramValue = $(n).get(0).files;
                formdata.append(paramName, paramValue[0]);  //formdata用append的方法来添加参数
            }else{   //是文字的情况
                var paramName = $(n).attr('param');
                var paramValue =  $(n).val();
                formdata.append(paramName, paramValue);
            }
        }
    });
    url = "/customers/customerInfo/uploadImages";
    jQuery.ajax({
        url : url,
        type : 'post',
        data : formdata,
        cache : false,
        contentType : false,  //需要设置为false,不然后台拿不到数据
        processData : false,  //传送DOM信息,所以设为false
        dataType : "json",
        success : function(data) {

        }
    });
});

代码写的很丑,能明白啥意思就好....

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值