成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ionic實現(xiàn)下載文件并打開功能(file-transfer和file-opener2插件)

fengxiuping / 1706人閱讀

摘要:作為一款,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用和這兩個插件能夠在比較容易的實現(xiàn)這個功能。

作為一款app,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用cordova-plugin-file-transfer和cordova-plugin-file-opener2這兩個插件能夠在ionic比較容易的實現(xiàn)這個功能。

1、安裝:

cordova plugin add cordova-plugin-file-transfer
cordova plugin add cordova-plugin-file-opener2

2、代碼實現(xiàn)

angular.module("app").controller("accessoryDetailCtrl", ["$scope","$ionicLoading", 
  function ($scope $ionicLoading) {
    "use strict";
    
    $scope.downLoadFile = (downloadUrl) => {
      let fileTransfer = new FileTransfer(),
        uri = encodeURI(downloadUrl), // 文件的地址鏈接
        fileUrl = cordova.file.dataDirectory + uri.substr(uri.lastIndexOf("/") + 1); // 文件的下載地址
      fileTransfer.download(uri, fileUrl, entry => {
        entry.file(data => {
          cordova.plugins.fileOpener2.showOpenWithDialog(fileURL, data.type); // showOpenWithDialog使用手機上安裝的程序打開下載的文件
        });
        console.log("download accessory successful. accessory information : " + JSON.stringify(entry));
      }, error => {
        console.error("download accessory fail. Because of : " + JSON.stringify(error));
      });

      fileTransfer.onprogress = function(progressEvent) { // 加載過程中的loading提示
        const percentFinished = 99;
        let downloadProgress = Math.round((progressEvent.loaded / progressEvent.total) * $scope.percentage);
        $ionicLoading.show({
          template: "正在下載" + downloadProgress + "%"
        });
        downloadProgress > percentFinished && $ionicLoading.hide();
      };
    };
    
  }]);

3、注意事項
file-transfer除了支持下載還有上傳文件的功能,下載的時候要注意的是下載的地址,ios和android可以路徑是不同的,可以找出相同的路徑,或者分別處理,這里使用的是cordova.file.dataDirectory,ios和android下載同一個路徑

在使用file-opener2時,需要傳入mineType,這個我們可以在file-transfer時獲取。
file-opener2除了我們使用的showOpenWithDialog方法,還有open方法調(diào)用手機自帶的打開功能,可以用來實現(xiàn)android的版本更新,下載新版本安裝(以后有時間在寫,網(wǎng)上的相關(guān)文檔也很多)
另外還有uninstall和appIsInstalled功能,項目中沒有使用,就不在研究了。

最后,在android7,android8上使用file-transfer插件有需要特殊的處理,詳細(xì)可以查看一下github
cordova-plugin-file-transfer

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/51825.html

相關(guān)文章

  • ionic實現(xiàn)下載文件打開功能file-transferfile-opener2插件

    摘要:作為一款,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用和這兩個插件能夠在比較容易的實現(xiàn)這個功能。 作為一款app,下載文件功能,和打開文件功能,在某些場景下還是十分有必要的。使用cordova-plugin-file-transfer和cordova-plugin-file-opener2這兩個插件能夠在ionic比較容易的實現(xiàn)這個功能。 1、安裝: cordova...

    cfanr 評論0 收藏0
  • Capacitor 新一代混合應(yīng)用“神器” 會代替Cordova嗎??

    摘要:介紹暢想是由團(tuán)隊最新開發(fā)維護(hù)的一個跨平臺的應(yīng)用程序容器,可以輕松構(gòu)建在,,和上本機運行的應(yīng)用程序。后者旨在替代或者說是進(jìn)化。希望看到在未來發(fā)展,以及正式發(fā)布。我認(rèn)為它有可能大大改善混合應(yīng)用開發(fā)體驗。 1.介紹or暢想 Capacitor是由ionic團(tuán)隊最新開發(fā)維護(hù)的一個跨平臺的應(yīng)用程序容器,可以輕松構(gòu)建在iOS,Android,Electron和Web上本機運行的Web應(yīng)用程序。我們...

    番茄西紅柿 評論0 收藏0
  • 一個基于Angular+Ionic+Phonegap的混合APP實戰(zhàn)

    摘要:有二維碼掃描功能,還做了類似消息可拖拽效果,上拉下拉刷新,輪播圖組件。特別適合用于基于模式的移動應(yīng)用程序開發(fā)。簡介是一個用基于,和的,創(chuàng)建移動跨平臺移動應(yīng)用程序的快速開發(fā)平臺。 這個項目做得比較早,當(dāng)時是基于ionic1和angular1做的。做了四個tabs的app,首頁模仿攜程首頁,第二頁主要是phonegap調(diào)用手機核心功能,第三頁模仿微信和qq聊天頁,第四頁模仿一般手機的表單設(shè)...

    孫淑建 評論0 收藏0
  • Ionic2入坑基礎(chǔ)教程安裝指南

    摘要:安裝程序主要通過命令行工具來創(chuàng)建和開發(fā),并使用來構(gòu)建和部署為原生應(yīng)用程序?;A(chǔ)教程確保完成之前的安裝并測試啟動成功。 安裝Ionic Ionic 2 程序主要通過Ionic命令行工具CLI來創(chuàng)建和開發(fā),并使用Cordova來構(gòu)建和部署為原生應(yīng)用程序。也就是說我們需要先安裝一些工具來實現(xiàn)程序開發(fā)。 安裝Ionic CLI 和 Cordova 要創(chuàng)建 Ionic 2 項目,你需要安裝最新版...

    jayce 評論0 收藏0
  • ionic1使用ImagePicker插件且顯示中文(漢化)

    摘要:在使用開發(fā)時,打開相冊應(yīng)該是使用比較頻繁的插件之一。解決辦法可以看我另一篇文章使用在安卓手機上閃退問題參考文獻(xiàn)之圖片選擇插件使用插件中文顯示 在使用ionic開發(fā)時,打開相冊應(yīng)該是使用比較頻繁的插件之一。下面講講我在項目中使用(這部分官方比較詳細(xì),就簡單描述)以及解決插件顯示英文問題 1、imagepicker安裝cordova plugin add cordova-plugin-im...

    Vultr 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<