2014-05-03 171 views
1

我在我的电脑上有3个图像数据集,每个图像数据集都有600多个图像。我想制作一个托管在另一个公共服务器上的网页。这个公共服务器只允许每个用户有限的空间,所以我不能在那里存储我的数据集。 有人可以提供一些关于如何链接公共服务器上的数据集的想法吗?例如,在制作网页时,假设我需要链接第二个数据集的第三个图像。有没有什么方法可以放入像“10.1.34.1:99/dataset2/3.jpg”这样的链接,并且图像可供读者查看。假设10.1.34.1是我的PC的IP地址,99是端口号。通过网络链接图像

+0

如果您可以浏览'http://10.1.34.1:99/dataset2/3.jpg',则选择是。 – bansi

+0

它不可访问,因为它位于防火墙之后并且无法访问互联网。如何存储数据集并使其可访问以便可以链接?这是我的问题。 – diggy

+0

如果它位于防火墙后面,某个url应该可以访问该图像,否则无法将其显示给外部世界。您不必直接链接到可以使用代理的内部服务器。如果您使用Apache Web服务器,请选中[使用mod_rewrite进行代理](https://httpd.apache.org/docs/trunk/rewrite/proxy.html) – bansi

回答

1

从我的理解你有一个面向互联网的网络服务器(让我们称之为“网络”),这台服务器的存储容量有限。我会假设你的其他服务器是“本地”(或在你的例子“10.1.34.199”),而不是从外部访问

第1步:在本地托管一个正常的http服务器,以便图像可以通过10.1.34.199/dataset2/3.jpg访问本地内部网“,但不能直接在您的网络中使用此链接,因为互联网不能访问它。能够链接图像,你需要做一个PHP脚本(或同等学历),它通过代码获取该图像和数据转发。

<?php 
$dset = intval($_GET["dataset"]); 
$imno = intval($_GET["imgno"]); 
header('Content-type: image/jpeg'); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost:8000/dataset".$dset."/".$imno.".jpg"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 
?>                 

上述脚本可以放在里面“网站“(说img_fetch.php),现在你可以自由地将图像嵌入为”imgfetch.php?dataset = 2 & imgno = 3“,并且它对用户是可见的。

请注意,这只是一个黑客入侵的解决方法,它应该可以工作,而不是一个推荐的永久解决方案,前提是您的网站被很多人访问。