使用URLStream (或URLLoader)加载文件时,有没有办法指定要加载的字节范围,而不是将整个文件加载到内存中?
发布于 2016-01-09 00:32:02
由于存在细微差别,这是一个宽泛的问题。简短的回答是No,加载会给出完整的资源URL。
更长的答案是:
URLLoader -否;它加载完整的资源。你会得到progress事件,它会告诉你文件已经加载了多少。
URLStream -也许;它使数据在加载时以块的形式可用。如果您关心的数据位于文件的开头,则可以在下载完成之前关闭流。请注意,数据是原始的二进制形式。
回顾一下URLLoader -也许;您可以编写一个接受beginIndex和endIndex参数的服务器,然后调用URLLoader.load('http://my-server/file?beginIndex=' + desiredBeginIndex + '&endIndex=' + desiredEndIndex);
如果您有办法知道要指定哪些索引,那么最终只会得到文件中您关心的那部分。
发布于 2016-01-09 06:18:22
...mmm...您可以加载和跟踪字节数。然后,当您达到所需的加载字节数时,执行loader.close()...(使用一个进度事件、一个字节数组和一个全局编号var跟踪并保存它们)
虽然我不知道如何从中间获取数据,但你可以使用这种方法从一开始加载任何范围的字节。
Loader.close()
关闭正在进行的加载操作。任何正在进行的加载操作都会立即终止。如果当前没有正在传输的URL,则会抛出一个无效的流错误。
https://stackoverflow.com/questions/34681507
复制相似问题