【前端JS】input对象图片在线转base64

<input type="file" name="file" id="file"/>
       //传入图片路径,返回base64
            getBase64(img) {
                function getBase64Image(img, width, height) {//width、height调用时传入具体像素值,控制大小 ,不传则默认图像大小
                    var canvas = document.createElement("canvas");
                    canvas.width = width ? width : img.width;
                    canvas.height = height ? height : img.height;
                    var ctx = canvas.getContext("2d");
                    ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
                    var dataURL = canvas.toDataURL();
                    return dataURL;
                }
                var image = new Image();
                image.crossOrigin = '';
                image.src = img;
                var deferred = $.Deferred();
                if (img) {
                    image.onload = function () {
                        deferred.resolve(getBase64Image(image));//将base64传给done上传处理
                    }
                    return deferred.promise();
                }
            },
            // 获取文件对象 转换成它的url暂缓地址
            getObjectURL(file) {
                var url = null;
                if (window.createObjcectURL != undefined) {
                    url = window.createOjcectURL(file);
                } else if (window.URL != undefined) {
                    url = window.URL.createObjectURL(file);
                } else if (window.webkitURL != undefined) {
                    url = window.webkitURL.createObjectURL(file);
                }
                return url;
            },
              
            // 转换编码  
            sendimages() {
                that = this
                var inputElement = document.getElementById("file")
                var file = inputElement.files

                var objURL = this.getObjectURL(file[0]);

                // 获取64
                this.getBase64(objURL)
                    .then(function (base64) {
                        {#console.log(typeof(base64));//处理成功打印在控制台#}

               // 获取到编码 发送字符串 that.base = base64 that.socket.send(that.base) }, function (err) { console.log(err);//打印异常信息 }); }

文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?文字是吧?

主攻:Python 数据分析 web 机器学习 图像识别。。 副攻:JAVA WEB 安卓 大数据
原文地址:https://www.cnblogs.com/wanghong1994/p/14742456.html