我目前正在构建一个AIR文件上传器,用于处理多个和非常大的文件。我已经玩过不同的方法将文件分成块(100mb)并逐步上传每个方法,以便我可以再次保护上传/断开连接失败等。
我已经设法将文件分解为较小的文件,然后我将其写入光盘上的临时区域,但是我发现编写文件的实际过程非常慢并且会增加很多处理能力。我的UI在写作时基本上停止了。更不用说我有效地将每个文件的本地磁盘空间加倍了。
我使用的另一种方法是以100mb块的形式读入原始文件,并将该数据存储在byteArray中,然后我可以使用URLLoader类将其作为POST数据上传。问题是这样我无法跟踪上传进度,因为ProgressEvent.PROGRESS无法正常处理POST请求。
我想知道的是,是否可以在我的100mb块中读入文件并上传该数据而无需创建新文件但仍使用FileReference.upload()方法以便收听所有方法给我的可用事件。 IE浏览器。创建一个由原始文件的0到100mb的字节组成的File(),然后在该新文件上调用upload()。
如果有帮助,我可以为这两种方法发布我的代码。
干杯,非常感谢
答案 0 :(得分:0)
我遇到了这样的问题,但是我们以另一种方式解决了这个问题,我们决定编写一个socket连接器,它将连接到服务器(例如FTP / HTTP)并写下来插入这个ByteArray,我们也在大小相同的块,我们上传的最大文件是BlueRay电影大约150GB左右。
所以我希望你从我的信息中得到一些有趣的想法,如果你喜欢它,我可以为你分享一些代码。