2011-07-06 7 views
-1

私たちがアクセスしようとする前に、まず私のアプリからログインfacebookにログインする必要があります https://graph.facebook.com/marko/pictureFacebookのAPI:アクセスが拒否されました(java.io.FilePermissionを読む)

からユーザーをイメージオブジェクトを作成するためにJSPを使用しようとしていますいずれのファイルも、しかし、Facebookのプロフィール画像はすべて公開されています。とにかく、私は逃げる。

このURLイメージストリングに基づいてファイルを直接作成しようとすると、代わりにイメージへのリダイレクトです。さて、もし私がjspでこれをやろうとしているので、それがうまく動作するhtmlイメージオブジェクト(すなわち、)を作成するなら、それはしません。

//This doesn't work 
String strImgUrl = "https://graph.facebook.com/marko/picture"; 
File filProfileImage = new File(strImgUrl);    
Image imgGraphic = (Image)ImageIO.read(filProfileImage); 

私はFileオブジェクトを作成しようとするとバストします。この問題を回避するにはどうすればいいですか?

答えて

3

ネットワークリソースを指すjava.io.Fileを作成することはできません。代わりにjava.net.URLを作成する必要があります。 ImageIOにはURLで動作するreadのオーバーロードされたバージョンがあるため、それ以外の変更は必要ありません。

import java.net.URL; 
import javax.imageio.ImageIO; 

String strImgUrl = "https://graph.facebook.com/marko/picture"; 
URL urlProfileImage = new URL(strImgUrl);    
Image imgGraphic = (Image)ImageIO.read(urlProfileImage); 
+0

'(イメージ)'型変換も不要です。 –

関連する問題