0

我有两台服务器,我们可以称它们为 A 和 B。服务器 A 有一个面向公众的网站,它有正确的域名,每个人都可以通过 Internet 访问它。服务器 B 与服务器 A 在同一个网络中。服务器 B 有一个内部网站运行,域名为:http://b.domain.local/

所以,服务器A可以访问服务器B的网站内容,所有页面,img等...

在服务器B的网站中,动态脚本图片链接很少,例如链接: http://b.domain.local/img.php?Action=view&ID=5 这只会返回一个图片,它会显示一个状态一些数字。

我需要将此图像放在服务器 A 上的一个网页中以向公众显示。

那可能吗?我怎么能做到这一点?我认为这类似于一些基于 Web 的代理站点:客户端 -> 对服务器 A 的请求,服务器 A -> 对服务器 B 的请求,服务器 B 将值返回给服务器 A,服务器 A 将结果返回给客户端......不是它?

我在服务器 A 上使用 C# MVC4。

谢谢

4

1 回答 1

0

我猜你在服务器A上使用IIS?您能否在服务器 B 上共享一个包含图像的文件夹,并在服务器 A 上的 IIS 中设置一个虚拟目录,该目录指向服务器 B 上的共享。所以您仍然可以将它保留在服务器 B 上,但在服务器 A 上公开提供它。当然,这是假设您有一个实际的图像文件要共享。

或者,您所说的有关代理页面的选项也可以获取图像。我以前在一个网站上做过这个,它确实有效,但是这样做会有更多的开销。如果图像是从您为服务器 B 提供的链接动态生成的,那么这将是唯一的选择,因为公众无法直接访问它。

我将使用以下代码实现代理样式页面:

Response.ContentType = "image/jpeg";
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream stream = httpWebReponse.GetResponseStream();
Image _Image = Image.FromStream(stream);
_Image.Save(Response.OutputStream, ImageFormat.Jpeg);
于 2013-11-14T00:34:18.157 回答