html转成base64/blob/file

import html2canvas from 'html2canvas'

async saveImage(divText, _this) {
            let canvasID = _this.$refs[divText];
            let a = document.createElement('a');
            return new Promise((resolve, reject) => {
                html2canvas(canvasID, {
                    height: 500,
                    allowTaint: true,
                    useCORS: true,
                }).then(canvas => {
                    // const base64 = canvas.toDataURL('image/png', 0.5)
                    // console.log(base64)
                    // resolve(base64)
                    let blob = _this.dataURLToBlob(canvas.toDataURL('image/png'));
                    let file = new window.File([blob], 'dddd.png', { type: blob.type })// 转成File
                    resolve(file)
                }).catch(() => {
                    reject({})
                });
            })
        },

 dataURLToBlob(dataurl) {
            var arr = dataurl.split(',')
            var mime = arr[0].match(/:(.*?);/)[1]
            var bstr = atob(arr[1])
            var n = bstr.length
            var u8arr = new Uint8Array(n)
            while (n--) {
                u8arr[n] = bstr.charCodeAt(n);
            }
            return new Blob([u8arr], { type: mime });
        },

猜你喜欢

转载自blog.csdn.net/shidouyu/article/details/124297246