我正在Postgresql中开发一个数据库,可以通过浏览器(php / javascript)在Firefox / Ubuntu中访问。它在客户端计算机本地运行,数据库也是本地的。某些表具有“链接”列,其中用户存储该记录的文件路径(报告,照片,地图甚至整个文件夹)。现在我要求客户端在Nautilus中复制资源并将其粘贴到选择的字段中。这将粘贴文件的完整路径,然后将其存储在数据库中。到目前为止,非常好。
我现在想要的是在用户要求查看该表上的内容时显示文件的缩略图。我知道javascript因安全原因无法访问用户磁盘的内容。 This site显示了如何在HTML5中执行类似操作,但它似乎没有文件的完整路径。在其他地方,我读过Flash可以做到(在其他地方,我读不到),但Flash不是免费的。任何免费技术使这项工作?提前谢谢。
答案 0 :(得分:1)
有几种方法可以解决这个问题。一种选择是服务器将图像从数据库中的路径流式传输到浏览器,例如,如果使用PHP,则看起来像:
$size = getimagesize($fname);
// Now that you know the mime type, include it in the header.
header('Content-type: '.$size['mime']);
// Read the image and send it directly to the output.
readfile($fname);
在任何其他服务器端脚本语言中都有等效的方法。
具体来说,这是一个经过测试的示例代码。在服务器端:
<?php
$param = $_GET["image"];
$fname = "/Users/myuser/images/$param"; // replace with your path
$size = getimagesize($fname);
header('Content-type: '.$size['mime']);
readfile($fname);
?>
在客户端
<html>
<head></head>
<body>
<img src="http://127.0.0.1/img.php?image=test1.png" />
<img src="http://127.0.0.1/img.php?image=test2.png" />
</body>
</html>