2016-05-17 50 views
1

I'm下載的圖像與此代碼的本地存儲:科爾多瓦文件傳輸節目下載圖像

function saveImageToPhone(url, file) { 

    var plat = device.platform; 
    var deferred = $q.defer(); 
    var url = url; 
    if(plat == "iOS"){ 
     var filePath = cordova.file.dataDirectory + "files/img/" +file; 
    }else{ 
     var filePath = cordova.file.applicationStorageDirectory + "files/img/" +file; 
    } 

    var fileTransfer = new FileTransfer(); 
    var uri = encodeURI(url); 

    fileTransfer.download(
     uri, 
     filePath, 
     function(entry) { 
     console.log(entry); 
     deferred.resolve(); 

     }, 
     function(error) { 
     console.log("error"); 
     deferred.resolve(); 

     }, 
     true 
    ); 

    return deferred.promise; 
    } 

I'm與顯示圖像:

<img src="file:///var/mobile/Containers/Data/Application/0C911347-00D1-4133-9186-D9653E64B572/Library/NoCloud/files/img/{{myimagename}}.jpg"> 

上面的代碼中工作正常android(與其他src路徑)。圖像被下載,保存並顯示在前端。

與下載成功的iOS功能調用和Xcode調試顯示我的積極響應:

{"isFile":true,"isDirectory":false,"name":"3866938200000.1.jpg","fullPath":"/files/img/3866938200000.1.jpg","filesystem":"<FileSystem: library-nosync>","nativeURL":"file:///var/mobile/Containers/Data/Application/2A84F1F2-56D7-419A-B915-905C32FE851C/Library/NoCloud/files/img/3866938200000.1.jpg"} 

但圖像沒有在前臺顯示。有沒有選擇檢查iOS的文件系統(沒有越獄設備)來檢查文件是否真的存在?或者我錯過了什麼?我的圖像的src路徑是否正確?

在此先感謝

+0

我已經看到,這個標識符「0C911347-00D1-4133-9186-D9653E64B572」在應用程序的新啓動後並不相同。有沒有辦法讓這個標識符持久? – m1crdy

回答

2

我seeying您正在使用科爾多瓦文件插件

你應該保存在$範圍內的道路,這樣你就可以把它添加到您的HTML

在您的控制器:

$scope.path = cordova.file.dataDirectory 

而在你的HTML

<img src="{{path}}Library/NoCloud/files/img/{{myimagename}}.jpg"> 
+0

謝謝!我不知道重新啓動後UUID是否重新計算。謝謝! – m1crdy

+0

您可以刪除upvote並只讓接受的答案好嗎?我想贏得徽章:) – Del

+0

您需要先編輯 – m1crdy