发布于 2017-05-12 11:13:39 | 105 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

HTML5超文本标记语言

万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五重大修改。


这篇文章主要介绍了HTML5 JS压缩图片并获取图片BASE64编码上传方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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');
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持phperz。



相关阅读 :
HTML5 JS压缩图片并获取图片BASE64编码上传
JS HTML5拖拽上传图片预览
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Html5 ajax上传多个图片 + nodjs保存的示例
HTML5+Canvas调用手机拍照功能实现图片上传(下)
HTML5+Canvas调用手机拍照功能实现图片上传(上)
用html5 js实现点击一个按钮达到浏览器全屏效果
HTML5 js实现拖拉上传文件功能
使用HTML5的FormData实现无刷新文件上传
HTML5矢量实现文件上传进度条
HTML5实现微信拍摄上传照片功能
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务