2016-05-17 3 views
1

- 私:上記のコードは正常に動作中コルドバ変数をFileTransferショーダウンロードしたイメージ

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

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; 
    } 

で画像を表示する - 私アンドロイド(他のsrc-pathと一緒に)画像はダウンロードされ、保存され、フロントで表示されます。成功のダウンロード機能での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のファイルシステム(jailbrokenデバイスなし)を調べて、ファイルが実際に存在するかどうかを確認するオプションはありますか?または私は何かを逃している?画像のsrcパスは正しいですか?事前に

おかげ

+0

私はこの識別子 "0C911347-00D1-4133-9186-D9653E64B572"は、アプリケーションの新しい起動後に同じではないことがわかりました。その識別子を永続化する方法はありますか? – m1crdy

答えて

2

私はあなたがあなたのコントローラでは、あなたのhtml

にそれを追加することができますので、あなたは、$の範囲でパスを保存する必要がありコルドバファイルプラグイン

を使用していることをseeyingています:

$scope.path = cordova.file.dataDirectory 

し、HTMLで

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

ありがとう!再起動後にUUIDが再計算されることはわかりませんでした。ありがとう! – m1crdy

+0

upvoteを削除し、受け入れられた回答のみをお願いしますか?私はバッジに勝ちたいです:) – Del

+0

あなたは最初に編集する必要があります – m1crdy

関連する問題