鍍金池/ 問(wèn)答/HTML5  HTML/ js canvas如何實(shí)現(xiàn)壓縮圖片?

js canvas如何實(shí)現(xiàn)壓縮圖片?

需求是實(shí)現(xiàn)壓縮上傳。網(wǎng)上看了大多是canvas方法實(shí)現(xiàn),于是仿照著寫(xiě)了個(gè)。但是似乎并沒(méi)什么用。上傳后下載下來(lái)圖片依然很大。
代碼如下

        html5Reader(file, item){

            const reader = new FileReader();
            let Img = new Image();
            let newImageData;
            Img.src =  window.URL.createObjectURL(file);
            Img.onload = (e) => {
                let canvas = document.createElement('canvas');
                let ctx = canvas.getContext('2d');                       
                canvas.width = Img.width;
                canvas.height = Img.height;
                ctx.drawImage(Img, 0, 0, canvas.width, canvas.height);
                newImageData = canvas.toDataURL('image/jpeg', 0.1);
                console.log(newImageData)                    
                this.$set(item, 'src', newImageData);
            };                


        },
回答
編輯回答
入她眼

問(wèn)題解決了。
需要把base64的圖片再轉(zhuǎn)為普通圖片上傳。

2018年2月2日 09:06