方法多種多樣恬偷。
- [使用 文件管理插件] (http://www.ionic.wang/ng_cordova-file.html)
cordova plugin add cordova-plugin-file
2.controller.js 添加方法罗售。
//2 new 接單后,點擊某訂單男旗,顯示訂單的情況
.controller('DownCtrl', function($scope,$timeout,$cordovaFileTransfer){
$scope.downloadFile = function(pathurl) {
var url = pathurl;
var filename = url.split("/").pop();
alert(filename);
var targetPath = cordova.file.externalRootDirectory + filename;
var trustHosts = true
var options = {};
// alert(cordova.file.externalRootDirectory);
$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
.then(function(result) {
// Success!
alert(JSON.stringify(result));
}, function(error) {
// Error
alert(JSON.stringify(error));
}, function (progress) {
$timeout(function () {
$scope.downloadProgress = (progress.loaded / progress.total) * 100;
})
});
}
}
3.view.js 執(zhí)行方法
<ion-item>
<button class="button button-block button-calm" ng-click="downloadFile()"> 下載圖片 </button>
</ion-item>
注意事項:
目錄對應(yīng)的android 真實目錄。
console.log(cordova.file.externalApplicationStorageDirectory); //file:///storage/emulated/0/Android/data/com.bntake.driver.in/
console.log(cordova.file.dataDirectory); //file:///data/user/0/com.bntake.driver.in/files/
console.log(cordova.file.externalDataDirectory); //file:///storage/emulated/0/Android/data/com.bntake.driver.in/files/
console.log(cordova.file.externalRootDirectory);//file:///storage/emulated/0/
console.log(cordova.file.externalCacheDirectory); //file:///storage/emulated/0/Android/data/com.bntake.driver.in/cache/
console.log(cordova.file.applicationStorageDirectory); //file:///data/user/0/com.bntake.driver.in/
console.log(cordova.file.cacheDirectory); //file:///data/user/0/com.bntake.driver.in/cache/
console.log(cordova.file); //object
cordova.file.externalRootDirectory EACCES (Permission denied)"無法打開文件夾的權(quán)限問題蛛砰。
修改 應(yīng)用的文件夾讀取權(quán)限芍殖。 在設(shè)置 ->應(yīng)用->
某應(yīng)用->權(quán)限->存儲空間。(安卓系統(tǒng)的類似的功能外厂,因為手機系統(tǒng)都做了適配)
請求超時的處理冕象,和文件管理
$timeout,$cordovaFileTransfer
js 在index.html 的引入。與該項目無關(guān)汁蝶。只有引入js文件渐扮,才可以在controller中引入model方法。
<script src="js/services.js"></script>
<script src="js/service_image.js"></script>
第一次創(chuàng)建項目掖棉,index.html插件的引入: 需要安裝
<script src="lib/ngCordova/dist/ng-cordova.js"></script>