日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ionic实现下载文件并打开功能(file-transfer和file-opener2插件)

發(fā)布時間:2025/3/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ionic实现下载文件并打开功能(file-transfer和file-opener2插件) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

1、安裝:

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

2、代碼實(shí)現(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使用手機(jī)上安裝的程序打開下載的文件});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、注意事項(xiàng)
file-transfer除了支持下載還有上傳文件的功能,下載的時候要注意的是下載的地址,ios和android可以路徑是不同的,可以找出相同的路徑,或者分別處理,這里使用的是cordova.file.dataDirectory,ios和android下載同一個路徑

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

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

總結(jié)

以上是生活随笔為你收集整理的ionic实现下载文件并打开功能(file-transfer和file-opener2插件)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。