【问题标题】:Accessing a image stored on remote machine访问存储在远程计算机上的图像
【发布时间】:2011-10-25 11:27:07
【问题描述】:

在我们的应用程序中,用户可以将徽标链接到应用程序,并且该图像的尺寸将与图像 url 一起存储在数据库中,成功操作后,图像将在重新加载时显示在页面上。 我们的问题是,当用户尝试链接存储在其本地 Intranet 服务器上的图像时,应用程序无法访问该图像,这可能是出于安全原因。

我们正在使用 HttpClient 来访问图像。除了上面指定的情况外,它适用于所有其他情况。请提出任何解决方法。

【问题讨论】:

  • 是否涉及代理服务器?

标签: jakarta-ee


【解决方案1】:

如果您使用HttpClient 访问外部图像服务器端(在您的 Java EE 应用程序中),这将永远无法正常工作,因为您根本无法访问用户的 Intranet。有两种解决方案:

  1. 将图像本身也存储在您的服务器上并将其流式传输到客户端 - 用户需要将文件上传到您的服务器。
  2. 在您的应用程序中存储指向图像的链接并相应地生成您的 HTML,例如<img src="http://user.intranet.com/logo.gif

后一种解决方案在涉及 HTTPS (TLS) 和跨域资源时可能会带来安全问题。

【讨论】:

  • 感谢您的回复。我对此还有另一个疑问。这是否可以使用 javascript 从客户端站点访问图像。
  • 从技术上讲 - 是的,这是可能的,但您可能会遇到跨域脚本问题:请参阅 this answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 2018-01-30
  • 2012-07-02
  • 1970-01-01
  • 2011-07-30
  • 2010-12-10
相关资源
最近更新 更多