微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用HTML2canvas将img保存到用户的本地计算机

我正在使用 HTML2canvas .4.1渲染一个截图,并将图像保存到用户的本地计算机.这怎么可以实现?请注意,我是初学者,所以实际的代码对我来说最有帮助.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="html2canvas.js"></script>

<button id="save_image_locally">download img</button>

   <div id="imagesave">
      <img id='local_image' src='img1.jpg'>
   </div>

<script>

    $('#save_image_locally').click(function(){

            html2canvas($('#imagesave'),{
                onrendered: function (canvas) {
                    var img = canvas.toDataURL("image/png");
                    alert('This will currently open image in a new window called "data:". Instead I want to save to users local computer. Ideally as a jpg instead of png.');
                    window.open(img);
                }
             });
            });

</script>

解决方法

尝试这样(请注意,Safari会在同一个标​​签页中打开图片,而不是下载它; Safari中不支持下载属性)
<script>

  $('#save_image_locally').click(function(){
    html2canvas($('#imagesave'),{
      onrendered: function (canvas) {
        var a = document.createElement('a');
        // toDataURL defaults to png,so we need to request a jpeg,then convert for file download.
        a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg","image/octet-stream");
        a.download = 'somefilename.jpg';
        a.click();
      }
    });
  });

</script>

原文地址:https://www.jb51.cc/html/224702.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐