アプリ、ダウンロードファイル機能、および開いているファイルとして、まだ非常に必要ないくつかのシナリオでは、機能します。使用コルドバ・プラグイン・ファイル転送およびコルドバ・プラグイン・ファイルopener2 2つのプラグインは、イオンでは、この機能を実装するのは比較的簡単にすることができます。
1、インストール:
cordova plugin add cordova-plugin-file-transfer
cordova plugin add cordova-plugin-file-opener2
図2に示すように、コードの実装
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つのノート
のダウンロードに加えてだけでなく、アップロードファイル内のファイル転送サポート機能、注意を払うのダウンロード時間がアドレスをダウンロードすることで、IOSとAndroidのパスが異なる場合があり、あなたが同じパスを見つけることができ、または別々に処理、ここで使用cordova.file.dataDirectory、IOSとAndroidのダウンロードと同じパスです
ファイルopener2を使用する場合は、mineTypeを渡す必要があり、我々は、ファイル転送でこれを取得することができます。
我々が使用するだけでなく、オープンな方法は、(、書き込みの時間の後、多くのオンラインドキュメントを)新しいバージョンがインストールされているダウンロードし、アップデートのアンドロイドのバージョンを達成するために使用することができる携帯電話は、開口部の機能が付属して呼び出すファイルopener2 showOpenWithDialog方法以外に
もそこにアンインストールし、appIsInstalled機能は、プロジェクトがない研究では、使用されていません。
最後に、android7上のファイル転送プラグインの使用、android8特別な処理を必要とする、あなたはGitHubの詳細に見ることができ
コルドバ・プラグイン・ファイル転送