阅读:8119回复:22
机制上没办法从缓存另存图片?
大家应该都知道,从firefox诞生到目前的3.0 beta版本,对于网页图片的另存为,一直都是使用重新下载的方式,而不是IE那种直接从缓存copy再另存为的方式。
IE的缓存文件夹是直接保存图片文件的,所以实现另存为很简单,只要把缓存中相应的图片复制一下就行了。 但是fx的缓存是一个fx单独的打包的格式,缓存中并不存在显性的图片文件。 难道真的就没有办法从缓存中提取图片直接另存为?而非要现在这样根据图片地址,重新用下载管理器来下载?要知道对于很多图片网站,特别是有很多大图的网站,用这种方式真的是非常浪费时间,本来图片打开就慢,等另存为又要重新下载一次,纯粹是浪费时间。 本来还以为3.0能够解决这个问题,哎,还是失望。 |
|
|
1楼#
发布于:2008-01-15 23:17
我不太清楚你说的是不是对的,我刚才找了一张1MB的大图
打开它大概需要10秒左右,打开它之后,我把下载管理器打开,跟Firefox主窗口并排放置,点击右键保存图片——下载管理器中的任务没有任何下载进度,直接提示下载完成。 那么,如果Firefox是重新去网站下载这个图片,如何解释首次打开要5秒,保存时没有任何延迟? 再一个实验,打开另一张1MB的大图 完全打开后,把Firefox切换到脱机状态(文件-脱机工作),这时保存图片,按楼主说的,应该会提示保存图片失败,因为没有联网啊,事实上呢?大家完全可以试试。 不过我同意的是Firefox的缓存的确是打包格式,不知道是不是出于防病毒、恶意代码的考虑,但要下载个什么flv是挺麻烦的。用我上面的方法能离线下载下来图片,却不能离线下载下来flv |
|
|
2楼#
发布于:2008-01-15 23:17
FF肯定是从缓存里读取下载过的图片啊
不会重新下载啊 缓存设置大点儿试试呢 |
|
|
3楼#
发布于:2008-01-15 23:17
和2L不同的是 我的下载窗口是有文件列表的,不过我也感觉没从服务器下载,因为有时保存几M的图片也是瞬间就完成了. 以我2M的带宽来说,即使右键另存为以后firefox已经在后台预先开始下载了,也不可能这么快就完成.
这里有张6M大小的图片,比1M的更容易分辨,lz可以试试看 http://kobe1995.jp/~kaz/astro/pic/imgp0299.jpg 而且,如果图片很多的话,为什么不用批量下载呢... |
|
4楼#
发布于:2008-01-15 23:17
lz是不是在使用鼠标拖拽的扩展。
|
|
5楼#
发布于:2008-01-15 23:17
楼主的意思是如何从 fx 的缓存文件中提取图片, 就像IE那样.
|
|
6楼#
发布于:2008-01-15 23:17
对!对于缓存已经有的图片在保存图片时Firefox还是从网站下载,特别用国外代理看图,这个问题很影响速度。。。
|
|
|
7楼#
发布于:2008-01-15 23:17
虽然具体FX缓存怎么搞得我不知道
但是你可以尝试清空缓存再打开一张稍微大点的图片的页面(清空缓存是为了容易分辨缓存里的东西) 缓存里一直会有4个以_CACHE_开头的文件 另外有些无意义的文件名的文件,试试拷出来加个jpg、gif或者png看看 我以前做下来的情况是比较小的图片是找不到的,大点的图片能找到,然后类似flv这种文件,加个后缀名以后也可以正常播放(youtube、土豆我最常上,flv都可以从缓存拷) 同时注意到4个以_CACHE_开头的文件当清空缓存时体积会变小,所以我怀疑一些小文件以某种形式存在了这4个文件里 所以我一直认为fx的缓存对大部分文件就只是去掉后缀修改文件名而已,不是什么大不了的加密啦、打包啦 再来看另存图片,昨天我就收了很多大图,当时是BT、EMULE都开着在收图,1M带宽,打开图片是很慢(1张图要个几分钟),但是另存图片基本1秒左右(会出现下载管理器,完成然后自动关闭),根本不可能是重新去下载的 但是同时也有一个现象,在我这里以大约不到50%几率发生(多发在收国外网站图片),就是FX已经装载完一张图,我另存为,下载管理器中进度条会以令人匪夷所思的慢速增长,然后卡在那里一会儿,再次瞬间显示完成,然后脱机的话,可以直接瞬间完成,很难理解,这让我有个想法,FX在联网时是否会对进行一些校验的工作? 不过就脱机可以保存这点来说,肯定可以从缓存中另存图片 同时也如6楼所说,用代理时是有发生重新下载图片的事情(没有注意过是否百分百发生) |
|
8楼#
发布于:2008-01-15 23:17
ferret:和2L不同的是 我的下载窗口是有文件列表的,不过我也感觉没从服务器下载,因为有时保存几M的图片也是瞬间就完成了. 以我2M的带宽来说,即使右键另存为以后firefox已经在后台预先开始下载了,也不可能这么快就完成. 这里有张6M大小的图片,比1M的更容易分辨,lz可以试试看 http://kobe1995.jp/~kaz/astro/pic/imgp0299.jpg 我试过了先在浏览器打开图片(大约30~40秒)然后再保存图片,保存时间大约要6-7秒,这就肯定Firefox不是从缓存文件读取图片保存,否则1秒就能搞定了,应该是用了一些内存缓存加速。 |
|
|
9楼#
发布于:2008-01-15 23:17
关于那张6M的图片,我打开需要大概1分钟,保存需要一瞬间。
|
|
|
10楼#
发布于:2008-01-15 23:17
可能是这样的,Firefox在保存图片的时候先访问原地址,与缓存中的图片对比(需要花费时间但是比重新下载要快),如果是一样的就直接另存,如果不是一样的就重新下载。
所以,如果图片的原始链接改变或者连不上网,就不能下载。 |
|
11楼#
发布于:2008-01-15 23:17
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2008-01-15 23:17
ferret:和2L不同的是 我的下载窗口是有文件列表的,不过我也感觉没从服务器下载,因为有时保存几M的图片也是瞬间就完成了. 以我2M的带宽来说,即使右键另存为以后firefox已经在后台预先开始下载了,也不可能这么快就完成. 我试过这张图片了,我现在公司,用了foxproxy代理。打开图片的速度还可以,但是下载保存,并没有一瞬间的事情,虽然显示的速度有200多KB,但是还是持续了10秒左右,和我打开这张图的时间差不多。 这个就奇怪了,我在公司和家里都碰到过会重新下载的。不过也碰到过重新下载速度很快的。这个东西感觉捉摸不定。 |
|
|
13楼#
发布于:2008-01-15 23:17
|
|
|
14楼#
发布于:2008-01-15 23:17
那是不是跟缓存的大小有关?楼上几位做实验前把缓存全部清空了不?
|
|
|
上一页
下一页