我正在尝试使用jsp来创建一个图像对象 https://graph.facebook.com/marko/picture
在我们尝试访问任何文件之前,用户首先必须从我的应用程序登录Facebook,但Facebook上的所有个人资料图片都是公开的。无论如何,我离题了。
如果我尝试根据此URL图像字符串直接创建文件。而是重定向到图像。现在,如果我要创建一个有效的html图像对象(即),但是因为我试图在jsp中执行此操作,所以它不会。
//This doesn't work
String strImgUrl = "https://graph.facebook.com/marko/picture";
File filProfileImage = new File(strImgUrl);
Image imgGraphic = (Image)ImageIO.read(filProfileImage);
当我试图创建File对象时它会破灭。我怎样才能解决这个问题?
答案 0 :(得分:3)
您无法创建指向网络资源的java.io.File
。您需要创建java.net.URL
。 ImageIO
有read
的重载版本,可与URL
一起使用,因此除此之外您不需要任何其他更改。
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);