首页 / 知识
关于闪存:为预加载器获取多个文件大小
2023-04-15 15:25:00

Getting multiple file sizes for a preloader好吧,当前我的SWF文件命中了一个php文件,它将查找我指定给它的所有文件,将它们的大小加在一起,然后将它们的组合大小作为一个数字返回。然后,我将此数字与ProgressEvent侦听器一起使用,以确定该网站特定部分的当前文件下载百分比。 很简单吧?好了,现在已经不可能使用该PHP文件了,我正在尝试在SWF内部进行所有操作,而不是让其通过外部脚本获取所需的数字。 在开始将文件加载到Flash中之前,是否有任何好的方法来获取文件的大小?我真的需要预加载器是0到100%的预加载器,因此我需要在实际启动之前要下载的字节总数。 我想到的是只是通过保存文件URL的数组,开始加载它们,不显示任何加载就获取getTotalBytes,在第一个刻度上取消加载,将所有这些字节总数加起来,然后开始实际下载过程。这种方法看起来很丑陋,并且会浪费大量时间,因为每次用户在网站上点击预加载器时,可能需要一两秒钟才能浏览所有文件,找到它们的总数,然后才真正开始下载。 是否有更好的解决方案来解决这些问题? 您可以向服务器发出HTTP HEAD请求以获取文件。这将返回标题信息(包括文件大小),但不返回实际文件。然后,您可以发出GET请求以加载文件。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html (查看第9.4 HEAD部分) 我可能要做的是一个两层的进度条(带有2个进度条)。一个显示总进度(0到100%),一个显示每个文件的进度(下载每个文件时)。 这样,只要您知道要加载的文件数,就可以完成总进度,而不必先点击服务器即可获取文件大小。 麦克房间 mesh@adobe.com Mike Chamber的想法将为您提供帮助,但它仍然比在服务器端使用慢,因为无论如何您都必须为每个文件提出请求。基本上与您自己说的相同,但是当您明确要求标题时,它会稍微快一些。使用套接字执行请求:
以下仅出于示例目的。在实际情况下,我不会使用Timer,我将使用一个数组或XML对象使用for循环进行迭代,无论它的效果如何,并且基本上在您到达循环结束时(例如if(i ==(length-1 ))现在有了总数,就调用了开始实际预加载的功能,现在我们再次遍历数组或XML对象,但是这次仅在加载每个资产后执行,而不是在for循环中然后,该异步方法可以坐在那里,比较它已加载的数据量,然后将其除以较早发现的总数,从而得出您的百分比。
如果绝对有必要控制文件的加载方式,那么我相信Mike Chambers提出HTTP HEAD请求的建议是可行的方法。 但是,除非有充分的理由,否则我将立即开始一次加载所有文件,并从每个文件的getBytesTotal方法获取文件大小。由于Flash是从浏览器获取其网络堆栈的,因此实际并发加载的文件数将符合(用户定义的)浏览器设置。 |
最新内容
相关内容
linux文件复制的命令?
linux文件复制的命令?,系统,文件,命令,目录,源文件,基本知识,位置,目标,选项,文件夹,在Linux中,要将指定源文件复制到目标文件,但不覆盖原有文linux复制命令文件?
linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路径,选项,linux怎么复制命令cp命令:用于复制文件或目录。语法如下:`baslinux下文件均分命令?
linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配linux查文件数量命令?
linux查文件数量命令?,系统,数据,电脑,命令,文件,信息,代码,对比,软件,第三,linux系统如何查看自己创建了多少文件夹为了实验,我打算总共创建 7linux命令去重文件?
linux命令去重文件?,系统,工作,命令,信息,数据,环境,代码,文件,目录,操作,Linux的命令行中一些文本操作技巧的实例分享1、把文件中所有的 findlinux匹配文件名命令?
linux匹配文件名命令?,系统,时间,发行,位置,工具,软件,名称,盘后,电脑,盘中,linux如何查找某个文件名1、用CRT软件连接一个Linux系统 。打开需改文件名linux命令?
改文件名linux命令?,名字,软件,文件,命令,位置,系统,文件名,目录,指令,方面,linux下对文件重命名是什么命令Linux重命名文件是rename。Linux中linux命令文件加锁?
linux命令文件加锁?,数据,密码,系统,设备,代码,地址,名单,信息,数字,统一,请教linux下可否将数据锁在L2cache之中外部缓存(L2 Cache):CPU外部的linux拼接文件命令?
linux拼接文件命令?,文件,数据,命令,代码,时间,信息,系统,情况,管理,标准,Linux文件相关命令top:显示当前进程的系统资源使用情况。kill:终止指linux文件常用命令?
linux文件常用命令?,工作,地址,信息,系统,命令,目录,标准,情况,管理,常用命令,linux常用命令及用法linux系统常用操作命令如下:ls:全拼list,功能文件写入linux命令?
文件写入linux命令?,文件,命令,状态,系统,名称,时间,首次,数据,数字,内容,在linux命令行下如何将指定的几行内容写入到一个文件中?1、首先连接linux命令写满文件?
linux命令写满文件?,地址,工作,命令,系统,管理,文件,目录,标准,电脑,信息,Linux命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录的内