圖片采用base64壓縮,可以以字符串的形式傳送base64給服務端轉存為圖片


(function () {
    var coverImage = document.querySelector('<div id="coverImage">file</div>');
    //圖片壓縮
    coverImage.onchange = function () {
        lrz(this.files[0], {width: 640}, function (results) {
            
            // 你需要的數據都在這里,可以以字符串的形式傳送base64給服務端轉存為圖片。
            var base64 = results.base64;
            function base64UrlToBlob(base64){
                var bytes=window.atob(base64.split(',')[1]);        //去掉url的頭,並轉換為byte
                //處理異常,將ascii碼小於0的轉換為大於0
                var ab = new ArrayBuffer(bytes.length);
                var ia = new Uint8Array(ab);
                for (var i = 0; i < bytes.length; i++) {
                    ia[i] = bytes.charCodeAt(i);
                }
                return new Blob( [ab] , {type : 'image/jpg'});    //return Blob對象
            }
            var formData = new FormData($("#toPic")[1]);
            var blob = base64UrlToBlob(base64);
            console.log(blob);
            formData.append("coverImage",blob);
            $.ajax({
                url: "xxx",
                type: "POST",
                data: formData,
                dataType: "json",
                contentType:false,
                processData: false,         
                success: function (json) {
                    console.log(json);
                },
            });
            setTimeout(function () {
                demo_report('預壓的圖片', base64, base64.length * 0.5);
            }, 100);
            
        });
    };
})();

 

 (function () {
    var coverImage = document.querySelector('<div id="coverImage">file</div>');
    //圖片壓縮
    coverImage.onchange = function () {
        lrz(this.files[0], {width: 640}, function (results) {
        
            // 你需要的數據都在這里,可以以字符串的形式傳送base64給服務端轉存為圖片。
            var base64 = results.base64;
            function base64UrlToBlob(base64){
                var bytes=window.atob(base64.split(',')[1]);        //去掉url的頭,並轉換為byte
                //處理異常,將ascii碼小於0的轉換為大於0
                var ab = new ArrayBuffer(bytes.length);
                var ia = new Uint8Array(ab);
                for (var i = 0; i < bytes.length; i++) {
                    ia[i] = bytes.charCodeAt(i);
                }
                return new Blob( [ab] , {type : 'image/jpg'});    //return Blob對象
            }
            var formData = new FormData($("#toPic")[1]);
            var blob = base64UrlToBlob(base64);
            console.log(blob);
            formData.append("coverImage",blob);
            $.ajax({
                url: "xxx",
                type: "POST",
                data: formData,
                dataType: "json",
                contentType:false,
                processData: false,         
                success: function (json) {
                    console.log(json);
                },
            });
            setTimeout(function () {
                demo_report('預壓的圖片', base64, base64.length * 0.5);
            }, 100);
            
        });
    };
})();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM