2011-07-29 24 views
2

我正在开发摄影作品集网站。我想知道从数据库下载图像的最佳做法是什么。截至目前整个画廊大约20MB。画廊仍在开发中,我打算在照片之间进行“加载”图形运行。但客户似乎更喜欢图像预加载。预先加载20MB以上的照片是否实用?如果是,那么最好的方法是什么?或者最好是与加载屏幕一起去?预加载20MB以上的图片。这是否值得尝试?

+0

”或者最好是与加载屏幕一起去吗?“?这是什么意思? –

+0

如果你的客户想要预加载,我会说加载屏幕是一个好主意,而不是让浏览器在后台预加载时挂起。 –

+0

@Kragen给出了一个非常好的理由,为什么你不应该这样做,但如果你的客户坚持,并且你不能改变主意,那么你应该发布免责声明,或许在一个醒目的页面上,通知所有访问者访问该网站将花费20MB的信贷。我曾经自己使用移动连接,并主动避免使用自动播放视频,音乐和缓冲图像缓存的页面和网站。 – stephenmurdoch

回答

4

20MB的要一次提取的实在是太多了,它会导致慢和恼人的用户体验。您应该依次ajax加载每个图像。

令人难以置信的是,你的图像有多大? 800 x 600 jpeg的质量应该在90-95%左右,约为50k。所以20 MB将是400图像。这似乎很像一个页面。我猜你的图像尺寸很大 - 考虑减少它们。如果您想拥有高分辨率,非压缩版本,请单独链接。

编辑:仅供参考,我认为一个非常大的页面(html文档+所有css,js和图像资产)将为〜1MB。一个“平均”大小的页面可能约为100k。

+0

这会解释一些事情。他发给我的图片是800x600,但是200-700kb。我压缩了它们,并使尺寸缩小了很多。 – DavidR

4

为什么通过一些服务器端脚本没有“缩略”图像,缩略图预装显示&完整的图像缩略图上点击(使用某种收藏的js) 这同时保持充分porfolio预览会减少很多预压时间。

2

我认为更好的办法是预装接下来的照片,而你正在查看当前的

0

我不认为任何解决方案都是实用的 - 我建议你缩小你的图片。

0

20MB可能太多了,除非它是一个专门的应用程序,您可以确信1)用户将等待并且2)他们将查看大部分这些图像。否则,你正在浪费带宽。

我会看看一种策略,即将图像缓存在服务器内存中,以避免数据库流量与客户端预缓存一些图像(可添加它)结合使用。例如,如果用户在图像“A”上,也加载“B”和“C”。

2

是的,绝对不要这样做。请记住,有些用户将与移动连接连接,其中一些用户通过兆字节支付 - 如果您这样做,那么您已经用了20 MB的补贴,但他们可能永远看不到图像。 “