从链接离子应用程序Web视图下载并保存设备上的图像

时间:2015-10-07 11:02:29

标签: angularjs angularjs-directive ionic-framework

我有一个离子网络应用程序,在我的应用程序中,如果使用移动设备查看应用程序,我想下载并将图像保存到我的笔记本电脑或移动设备。

目前我有这个代码,但在下载图像时,图像有错误,因此无法查看。

  $scope.download=function()
  {
      $http.get('http://mcgivery.com/wp-content/uploads/2014/07/IMG_0308.png', {responseType: "arraybuffer"}).success(function(data){

           var arrayBufferView = new Uint8Array( data );
           var blob = new Blob( [ arrayBufferView ], { type: "image/png" } );
           var urlCreator = window.URL || window.webkitURL;
           var imageUrl = urlCreator.createObjectURL( blob );

           SaveToDisk(imageUrl,'abc.png');

        }).error(function(err, status){})
  }
  function SaveToDisk(fileURL, fileName) {
    // for non-IE
    if (!window.ActiveXObject) {
        var save = document.createElement('a');
        save.href = fileURL;
        save.target = '_blank';
        save.download = fileName || 'unknown';

        var event = document.createEvent('Event');
        event.initEvent('click', true, true);
        save.dispatchEvent(event);
        (window.URL || window.webkitURL).revokeObjectURL(save.href);
    }

    // for IE
    else if ( !! window.ActiveXObject && document.execCommand)     {
        var _window = window.open(fileURL, '_blank');
        _window.document.close();
        _window.document.execCommand('SaveAs', true, fileName || fileURL)
        _window.close();
    }
  }

有谁知道如何在我的笔记本电脑或移动设备上下载和保存图像。我的离子应用程序是一个WEB应用程序而不是移动或PHONEGAP应用程序,所以我不能使用CORDOVA。

感谢您的帮助

0 个答案:

没有答案