js图片上传

来源:互联网 发布:mac服务器域名 编辑:程序博客网 时间:2024/06/03 17:35

本文实例为大家分享了HTML5 JS压缩图片,并获取图片BASE64编码上传的方法,供大家参考,具体内容如下

基本过程
1) 调用 FileReader 的 reader.readAsDataURL(img); 方法, 在其onload事件中, 将用户选择的图片读入 Image对象.
2) 在image对象的 onload 事件中, 通过 canvas 的 canvas.getContext(‘2d’) 的 drawImage 方法, 将Image 改变大小绘制到canvas上.
3) 通过 canvas.toDataURL(“image/jpeg”, 0.1); 方法, 将图片变成base64字符串, 传入服务端. ####

var vueImg = new Vue({    el: "#divCarImages",    data: { model: { carId: '@carId', imageTitle:'',img64:'' }, images: [] },    methods: {      imageHandle: function () {        var fup = $("#fileImg")[0];        var img = fup.files[0];        var image = new Image();        var canvas = $("#canvas")[0];//document.createElement("canvas");        var ctx = canvas.getContext('2d');        image.onload = function () {          var w = image.naturalWidth,            h = image.naturalHeight;          var toSize = 400;          canvas.width = toSize;          canvas.height = toSize;          var w2 = toSize, h2 = toSize;          if (w > h) {            h2 = h / w * toSize;          } else {            w2 = w / h * toSize;          }          ctx.drawImage(image, 0, 0, w, h, 0, 0, w2, h2);        }        // 判断是否图片        if (!img) {          return;        }        // 判断图片格式        if (!(img.type.indexOf('image') == 0 && img.type && /\.(?:jpg|png|gif)$/.test(img.name))) {          alert('图片只能是jpg,gif,png');          return;        }        var reader = new FileReader();        reader.onload = function (e) { // reader onload start          var url = reader.result;          image.src = url;        } // reader onload end        reader.readAsDataURL(img);      }    }  });
function uploadImg() {    var canvas = $("#canvas")[0];    vueImg.model.img64 = canvas.toDataURL("image/jpeg", 0.1);    //$("#testMsg").html(imgData.length);    // ajax 上传图片    $.post("@Url.Content("~/AliOss/SaveCarImage")", vueImg.model , function (ret) {      parseAjaxData(data, function (model) {        console.log(model.Path);        alert(model.Path);        $('#showimg').html('<img src="' + model.Path + '">');      })        }, 'json');  }
原创粉丝点击