如何在 JAVA FX 中从 Web 检索图像

How to retrieve Image from Web in JAVA FX

我正在尝试从 Web 检索图像,然后将其放入 Java FX 中的图像视图。我怎么会收到未解决的编译问题的不匹配错误:类型不匹配:无法从缓冲图像转换为图像。我怎样才能从网络上检索图像,然后将其显示到我的应用程序中。

我的代码

  URL url2 = new URL("http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01004/opgs/edr/fcam/FLB_486615455EDR_F0481570FHAZ00323M_.JPG");
    
    Image image = ImageIO.read(url2);
    
    imageV.setImage(image);

不要尝试使用swing和imageio转换图像。也不要创建 URL 对象。 None 是必需的。

只需使用 image constructor.

直接从 url 字符串加载图像

如评论中所述,您需要直接访问服务器上的图像,而不是通过重定向位置:

if I change the protocol from http to https then it works. My guess is the website automatically upgrades to HTTPS, which I think results in a redirect, and I would not be surprised if JavaFX's image-loading implementation doesn't handle that.