移動端壓縮上傳圖片

btnFile.onchange=function(event){
            jt=1;
            imgWrap.setAttribute("class","clearfix");           
            var files = event.target.files;
            var url = URL.createObjectURL(files[0]);
            img.src = url;chrome

        //qq瀏覽器在預覽後卡死
           for(var i = 0, f; f = files[i]; i++){
               if(!f.type.match('image.*')) continue; 
               //console.log("壓縮前1:"+files[i].size);        
                var reader = new FileReader();
                reader.onload = (function(theFile){
                    return function(e){ 
                        var imgpre = new Image();
                        imgpre.src = e.target.result;canvas

 

                       // console.log("壓縮前:"+imgpre.src.length);                          
                       // img.src = e.target.result;
                        var simg=jic.compress(imgpre,10);//保存到服務器的圖片
                        simg.id="simg";
                        simg.style.display="none";
                        imgWrap.appendChild(simg);
                        //console.log("壓縮後:"+simg.src.length);
                    }
                })(f);
                reader.readAsDataURL(f);
            }
        }瀏覽器

 compress: function(source_img_obj, quality, output_format){
             
             var mime_type = "image/jpeg";
             if(output_format!=undefined && output_format=="png"){
                mime_type = "image/png";
             }
             var cvs = document.createElement('canvas');
             //naturalWidth真實圖片的寬度
             cvs.width = 360;//source_img_obj.naturalWidth;
             cvs.height = 480//source_img_obj.naturalHeight;
             var ctx = cvs.getContext("2d").drawImage(source_img_obj, 0, 0);
             var newImageData = cvs.toDataURL(mime_type, quality/100);
             alert(source_img_obj.naturalWidth);//安卓uc獲取0 chrome,qq,safari試了沒問題
             alert(source_img_obj.naturalHeight);
             alert("newImageData:"+newImageData);
             var result_image_obj = new Image();
             result_image_obj.src = newImageData;
             return result_image_obj;服務器

        }app

 

 

/*在請求中添加圖片start*/
                        var uimg=document.getElementById("u-img");
                        if (jt==1 || jt=="1") {
                            var blob;
                            var simg=document.getElementById("simg");
                            if(simg){
                              
                                var idata=simg.src.split(',')[1];
                                var mimeString = simg.src.split(',')[0].split(':')[1].split(';')[0];
                                idata=window.atob(idata);                               
                                var ia=new Uint8Array(idata.length);
                                for (var i = 0; i < idata.length; i++) {
                                    ia[i]=idata.charCodeAt(i);
                                };
                             ui

                                alert([mimeString]);
                                alert([ia]);
                                blob=new Blob([ia],{type:mimeString});//uc瀏覽器走不到這裏
                                alert(4);
                                data.append('pic1', blob); 
                                alert(blob);                            
                            }
                        }
                       
                    /*在請求中添加圖片end*/  url

相關文章
相關標籤/搜索