我有一个 JavaScript 幻灯片,它从 MySQL 数据库中预加载图像,然后在 HTML 文档的图像标记中一次显示一个。简而言之,它通过像网上许多幻灯片教程一样预加载图像来实现这一点,但它不是使用静态图像(即 images/image1.jpg 等),而是使用通过 PHP 提供的动态图像(即 getData.php?n =1) getData.php 脚本在服务器上运行,并为每个预加载的图像打开一个到数据库的新连接。
有没有办法避免与数据库建立如此多的连接,并让每个连接在图像数据库上只使用 LIMIT n,1 进行一次查询?
似乎如果我要使用 getData.php 作为 image.src 那么 getData.php 需要一次返回一个图像!我真的很想以 10 个为一组来获取它们,然后在客户端将它们一一分配给 Image() 对象。我认为这会更快,因为当我在 python 中编写一个客户端应用程序来显示图像(当然是在浏览器之外)时,大约 10 个块的传输速度要快得多(并减少了 mySQL 服务器上的负载)。我可以用 JavaScript 和 PHP 完成这个吗?我在两者之间使用 XML 吗?如果我可以使用 AJAX 将二进制图像数据转换为 JavaScript,我可以用它做些什么吗?JavaScript 中是否有imagecreatefromstring()
我缺少的函数?
我可以自己找出确切的代码,但我是网络编程新手,需要关于如何解决这个问题的提示!我想我错过了一些主要框架。我是否需要 ActionScript 或 JavaScript 以外的东西来解决这个问题?提前感谢您的提示!
编辑:我喜欢第一个建议,我想我可以完成。它也将使我能够遵循 alex shishkin 的部分建议以避免 LIMIT n,1 查询(尽管我确实想保留 SQL BLOB 字段)但是如何将二进制数据从 XML 粘贴到 JavaScript 中的 Image() 对象中?