显示浏览器中本地文件的缩略图(使用免费技术)



我正在开发PostgreSQL中的数据库,该数据库通过Firefox/Ubuntu中的浏览器(PHP/JavaScript)访问。它在客户端计算机中本地运行,并且数据库也本地运行。一些表具有"链接"列,用户在其中存储该记录文件的路径(报告,照片,地图甚至整个文件夹)。现在,我要求客户在Nautilus中复制资源并将其粘贴到首选领域。这粘贴了文件的完整路径,然后将其存储在数据库中。到目前为止,一切都很好。

当用户要求查看该表上的内容时,我现在想要的是显示文件的缩略图。我知道出于安全原因,JavaScript无法访问用户磁盘的内容。该站点显示了如何在HTML5中执行类似的操作,但是它似乎没有整个文件的路径。我读过的其他地方可以做到这一点(我读过的其他地方无法做到),但是Flash不是免费的。有什么免费的技术可以使这项工作?预先感谢。

有几种方法可以解决这个问题。一个选项是让服务器将图像从数据库中的路径流传输到浏览器,例如,如果使用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>

最新更新