cordova圖片下載

我們將介紹兩種方式將照片保存到本地

  • 官方下載插件FileTransfer

    這種方式會(huì)有一個(gè)弊端就是圖片在相冊(cè)里面找不到需要刷新一下系統(tǒng)目錄或者重啟一下手機(jī)才能在相冊(cè)里面查看到圖片但是可以下載動(dòng)圖

      vm.url = encodeURI(baseConfig.imgPath + vm.nowImgs[vm.nowImgIndex]);
      vm.fileName = vm.nowImgs[vm.nowImgIndex].split("/").pop();
      var fileTransfer = new FileTransfer();
      var trustHosts = true;
      var options = {
          headers: {
            "Authorization": 'access_token'
          }
       };
      //Android:
      vm.fileURL = cordova.file.externalRootDirectory;
      window.resolveLocalFileSystemURL(vm.fileURL, function (fileEntry) {
        fileEntry.getDirectory("Giti", {create: true, exclusive: false}, function (fileEntry) {
          fileEntry.getDirectory("img", {create: true, exclusive: false}, function (fileEntry) {
            fileTransfer.download(
              vm.url,
              fileEntry.toURL() + vm.fileName,
              function (success) {
                
              },
              function (error) {
              
              },
              options,
              trustHosts
            );
          }, function () {
            publicMethod.showLoadingNoBackdrop('img文件夾創(chuàng)建失敗');
          });
        }, function () {
          publicMethod.showLoadingNoBackdrop('Giti文件夾創(chuàng)建失敗');
        });
      });
      // iOS
      vm.fileURL = cordova.file.documentsDirectory + vm.fileName;
      window.requestFileSystem(LocalFileSystem.PERSISTENT, 5 * 1024 * 1024, function (fs) {
        fs.root.getDirectory('Giti', {create: true, exclusive: false}, function (directory) {
          fileTransfer.download(
            vm.url,
            directory.nativeURL + vm.fileName,
            function (success) {
             
            },
            function (error) {
              
            },
            trustHosts,
            options
          );
        });
      });
    
  • Canvas2ImagePlugin插件

    這種方法可以直接在相冊(cè)里面看到圖片但是動(dòng)圖看不到,下面是參考代碼

      function keepImg(){
          var success = function (msg) {
          
          };
          var error = function (err) {
          
          };
          saveImageToPhone(vm.url, success, error);
      }
              
      function saveImageToPhone(url, success, error) {
        var canvas, context, imageDataUrl, imageData;
        var img = new Image();
        img.src = url;
        img.onload = function () {
          console.log('Img size: ' + img.naturalWidth + 'x' + img.naturalHeight);
          canvas = document.createElement('canvas');
          canvas.width = img.width;
          canvas.height = img.height;
          context = canvas.getContext('2d');
          context.drawImage(img, 0, 0);
          try {
            imageDataUrl = canvas.toDataURL('image/jpeg', 1.0);
            imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, '');
            cordova.exec(
              success,
              error,
              'Canvas2ImagePlugin',
              'saveImageDataToLibrary',
              [imageData]
            );
          }
          catch (e) {
            error(e.message);
          }
        };
        try {
          img.src = url;
          console.log("153" + img.src);
        }
        catch (e) {
          console.log("156" + img.src);
          error(e.message);
        }
      }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 工廠模式類(lèi)似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 8,140評(píng)論 2 17
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評(píng)論 19 139
  • 單例模式 適用場(chǎng)景:可能會(huì)在場(chǎng)景中使用到對(duì)象,但只有一個(gè)實(shí)例,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見(jiàn)的單例模式,...
    Obeing閱讀 2,321評(píng)論 1 10
  • 不要看夫妻小小的溝通,那也是一門(mén)藝術(shù)啊,也要講究方法,更要把握一個(gè)"度"。 一個(gè)眼神,一個(gè)面目表情,一個(gè)肢體語(yǔ)言,...
    一棵樹(shù)閱讀 286評(píng)論 0 0
  • 不知大家有沒(méi)同感,現(xiàn)在的女朋友呀你得必須得伺候好了,節(jié)假日一個(gè)逃不掉,可不,又到清明節(jié)了,愁呢,帶她去哪兒玩呢?正...
    游大大旅游閱讀 666評(píng)論 0 0

友情鏈接更多精彩內(nèi)容