根据已有img实现下载

2017-07-26  本文已影响0人  是素净呀丶

这里的img指一个<img>标签或者一个src链接;

  /**
   * 只展示原理 不讲究封装
   */
  var src = getSrc();  // img的src或者其他方式获取
  var tempImg = document.createElement('img');
  var tempLink = document.createElement('img');

  img.onload = function() {
    var tempCanvas = document.createElement('canvas');
    var oTx = tempCanvasgetContext('2d');

    tempCanvas.width = tempImg.naturalWidth || exportImage.width;
    tempCanvas.height = tempImg.naturalHeight || exportImage.height;
    context.drawImage(exportImage, 0, 0, canvas.width, canvas.height);

    if (window.navigator.msSaveBlob) {
      window.navigator.msSaveBlob(canvas.msToBlob(), 'test.png');
    } else if ('link' in tempLink) {
      tempLink.setAttribute('src', canvas.toDataURL());
      tempLink.setAttribute('download', 'test.png');
      tempLink.click();
    } else {
      window.open( canvas.toDataURL());  // 在新窗口打开图片
    }

    tempImg = null; tempLink=null; tempCanvas=null;
  };
  img.src = src;

至此 一个下载 就完成了;
URL.createObjectURL 可实现文本类下载;下回分解;

上一篇下一篇

猜你喜欢

热点阅读