h5移动开发Ajax上传多张Base64格式图片

h5移动开发Ajax上传多张Base64格式图片到服务器

废话不多说,直接看代码吧
1、上传组件

 <div class="imgbox">
      class="goodsimg" src="../../assets/addimg.png">
      id="file" type="file" class="fileupload" accept="image/*" multiple capture="camera" @change="viewimg()"/>
 div>

2、展示添加上的图片

viewimg($event) {
     //获取当前的input标签
     var currentObj = event.currentTarget; 
     //找到要预览的图片img标签,亦可动态生成
     var img = currentObj.parentNode.children[0]; 
     setImagePreview(currentObj, img);

     function setImagePreview(docObj, imgObjPreview) {
         if (docObj.files && docObj.files[0]) {
                imgObjPreview.style.display = 'block';
                imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
       }
    }
}

3、获取图片并上传到服务器

//单张图片上传
var inputs = $("input.fileupload");
for (var i = 0; i < inputs.length; i++) {
    //图片转base64上传
    var file = inputs[i].files;
    if (file[0]) {
        var reader = new FileReader();
        reader.readAsDataURL(file[0]);
        reader.onload = function(e) {
      var event = this;
      console.log(event.result);
            $.ajax({
                type: 'POST',
                url: 'http://10.145.0.05/goods/addGoodsBase64',
                dataType: "json",
                data: {
                    "base64": event.result,
                },
                success: function(data) {
                    console.log(data);
                }
            });
        }
    }
}

好了,就是这个过程,接下来的就交给后端的同学处理了。

感兴趣的同学可以看看后端的代码:
http://blog.csdn.net/u013412790/article/details/72466762

你可能感兴趣的:(前端开发,ajax,移动开发,base64)