html2canvas+Canvas2Image在移动端出现的问题

移动端想要实现长按保存图片的功能,用html2canvas+canvas2image来实现,,PC端能正常下载,但是在移动端下载的文件没有后缀名,而且下载失败,下面是代码和图片

图片说明

 let dom = $(".dom").get(0);
                // 调用html2canvas插件
                jsShot.html2canvas(dom).then(function (canvas) {
                    // canvas宽度
                    var canvasWidth = canvas.width;
                    // canvas高度
                    var canvasHeight = canvas.height;
                    var img = jsShot.Canvas2Image.convertToImage(canvas, canvasWidth, canvasHeight);
                    let type = $('#sel').val(); //图片类型
                    let w = $('#imgW').val(); //图片宽度
                    let h = $('#imgH').val(); //图片高度
                    let f = $('#imgFileName').val(); //图片文件名
                    w = (w === '') ? canvasWidth : w; //判断输入宽高是否为空,为空时保持原来的值
                    h = (h === '') ? canvasHeight : h;
                    // 调用Canvas2Image插件
                    jsShot.Canvas2Image.saveAsImage(canvas, w, h, type, f);
                    // var dataString = canvas.toDataURL("image.png/png");
                    // var link = document.createElement("a");
                    // link.download = 'image';
                    // link.href = dataString;
                    // link.click();
                    // that.$nextTick(()=>{
                    //     that.screenShow=false
                    // })
                });

1个回答

移动端html2canvas涉及到跨域问题会报错加一个参数 {useCORS: true}
html2canvas(dom, {useCORS: true}).then((canvas) => {}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!