Java Can';t在静态卡中本地主机上显示图像

Java Can';t在静态卡中本地主机上显示图像,java,google-glass,google-mirror-api,Java,Google Glass,Google Mirror Api,我正在尝试创建一个在Google Glass的localhost上显示图像的卡。我从java初学者项目构建镜像API。事实上,我正在尝试使用starter应用程序附带的一个图像 以下是我正在发送的卡片的html: <article> <figure> <img src="http://localhost:8080/static/images/chipotle-tube-640x360.jpg"> </figure> &

我正在尝试创建一个在Google Glass的localhost上显示图像的卡。我从java初学者项目构建镜像API。事实上,我正在尝试使用starter应用程序附带的一个图像

以下是我正在发送的卡片的html:

<article>
   <figure>
      <img src="http://localhost:8080/static/images/chipotle-tube-640x360.jpg">
   </figure>
   <section>
       <p class="text-small yellow">ABC</p>
       <p class="text-small">XYZ</p>
   </section>
</article>

并且它似乎在那里显示良好,但在玻璃设备上显示不好。你知道为什么吗?

在你发送卡片的方式中,它引用了图像的URL,而不是作为附件的图像。要解析此图像,Glass转到该URL并尝试获取图像

由于服务器本身没有在Glass上运行,因此它无法解析URL,也无法获取图像。如果您在一台计算机上运行web服务器,在另一台计算机上运行浏览器,并使用“localhost”作为主机名,则情况也是如此

您有几种解决方案:

  • 您可以使用全局可用的主机名或IP地址。(“localhost”不会在全球范围内可用,以“192.168”开头的IP地址和其他一些IP地址也不会在全球范围内可用。)
  • 将图像复制到卡上,并使用特殊URL
    附件:0
    引用第一个附件

  • 您可能需要尝试使用本地主机的ip。谢谢@capture!我最终选择了选项2,因为我认为与我们的内部公司安全网络有关的问题使我无法选择选项1。选项2起作用了,但在插入一组卡时,我最终会在不同的点上得到SocketTimeoutException,其中一些卡带有图像附件。最初我将mime类型设置为“image/*”,但后来我将其更改为“image/jpeg”,sockettimeout似乎消失了。