用canvas压缩图片后为透明图


 $(page).off().on('change', '#myUploadImgAlbum', function () {
    fileUpload(this.files[0]);
  });
var fileUpload = function (obj) {
  var file = obj;
  var reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function () {
    var img = new Image(),
      canvas = document.createElement("canvas"),
      drawer = canvas.getContext("2d");
    img.src=reader.result;
    canvas.width = 400;
    canvas.height = 400;
    drawer.drawImage(img, 0, 0, 400, 400);
      console.log(drawer);
     img.src = canvas.toDataURL('image/png', 0.6);
    var image_base64 = img.src.replace("data:image/png;base64,","");
    $.ajax({
      type: 'POST',
      headers: reqUrl.getReqHeader(),
      url: reqUrl.getReqUrl('UploadPicure'),
      data: JSON.stringify({
      AgentLogoMsg: image_base64,
      FileName: '11.jpg'
      }),
      success: function (data) {
        if (data['Code'] == 0) {
                agent.setAgentLogo(data.Data.Logo);
              $(page).find('#preview_img').attr('src', data.Data.Logo);
          }
      },
      error:function(data){
        console.log(data);
      }
    })
  }
}


thrmagic
浏览 1878回答 1
1回答

水果味的C

前端代码应该没问题,应该是后端解析图片base64数据出现问题。为啥不直接传file。
打开App,查看更多内容
随时随地看视频慕课网APP