如何在 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.
我正在尝试从 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.