2017-01-27 4 views
0

コンテキスト私はFacebookのへの呼び出しをリメイクすることなく、それを表示できるように、ローカルストレージに、ユーザーのFacebookのプロフィール画像をダウンロードしようとしている

をしてNativescript/JavaScriptでURLから画像を保存することはできません。は、ImageSourceはモジュール

コード

私はデバイスのローカルストレージにアクセスするために画像をダウンロードするモジュールimage-sourceを使用して、モジュールfile-systemです。

ほとんどのコードはthe Nativescript image-source documentation pageを参照しています。

var imageSource = require("image-source"); 
var fs = require("file-system"); 

exports.theFunction = function(args){ 
    //... 
     var img = imageSource.fromFile("http://graph.facebook.com/"+user.id+"/picture?type=large"); 
     var folder = fs.knownFolders.documents(); 
     var path = fs.path.join(folder.path, "profilePic.jpg"); 
     console.log(path); 

     var saved = img.saveToFile(path, enums.ImageFormat.jpg); 
     appSettings.setString("imgLocal",path); 

     console.log("Image Saved Successfully"); 
    //... 
} 

出力

/data/user/0/com.foo.bar/files/profilePic.jpg

私は、 "画像が正常に保存され、" メッセージの出力に表示されませんコンソールと私はエミュレータ(私はデバイスなしでAndroid用に開発している)を使用してファイルシステムに格納されているかどうかを確認する方法がありません。

私もsaveToFile()の出力はブールであると仮定すると、ifタグに保存するイベントをラップ試してみました:

if(img.saveToFile(path, enums.ImageFormat.jpg)) console.log("success"); 
    else console.log("failure"); 

...しかし、これはまた、何も出力しません。私はURLからデバイスのローカルストレージに画像を保存することができますどのように

質問

参照

答えて

0

私はImageSourceは、ローカルファイル、いないのURLでのみ動作原因ここでの主なトラブルは、その行にあると思う:

var img = imageSource.fromFile("http://graph.facebook.com/"+user.id+"/picture?type=large"); 


urlからソースを設定するのではなく、イメージをダウンロードする必要があります。 https://docs.nativescript.org/cookbook/ui/image-cache

するか、このような何かを試してみて、何とかよりも、それを保存:画像のダウンロードについてあなたはここで読むことができます

var image = new ImageModule.Image(); 
image.src = "https://www.google.com/images/errors/logo_sm_2.png"; 

しかし、これについては私はかなりよく分かりません。私は原文を使ったことは一度もなく、ドキュメントを見ています。

関連する問題