AIR / AS3: загрузка части файла без создания нового нового фрагмента файла - PullRequest
1 голос
/ 10 сентября 2010

В настоящее время я создаю загрузчик файлов AIR, предназначенный для работы с несколькими и очень большими файлами. Я поиграл с разными методами разбивки файла на куски (100 МБ) и постепенной загрузки каждого, чтобы я мог защитить себя от неудачной загрузки / отключения и т. Д.

Мне удалось разбить файл на более мелкие файлы, которые я затем записываю в область с нулями на диске, однако я обнаружил, что фактический процесс записи файла довольно медленный и отнимает много вычислительной мощности. Мой интерфейс в основном останавливается при написании. не говоря уже о том, что я фактически удваиваю локальное дисковое пространство каждого файла.

Другой метод, который я использовал, состоял в том, чтобы прочитать исходный файл кусками по 100 Мб и сохранить эти данные в массиве byteArray, который затем я могу загрузить как данные POST, используя класс URLLoader. Проблема в том, что таким образом я не могу отслеживать ход загрузки, потому что ProgressEvent.PROGRESS не работает должным образом для запросов POST.

Что я хотел бы знать, так это то, можно ли прочитать файл в моих блоках по 100 МБ и выгрузить эти данные, не создавая новый файл, но по-прежнему используя метод FileReference.upload (), чтобы прослушать все доступные события, которые метод дает мне. То есть. создайте File (), который состоит из байтов 0 - 100 МБ исходного файла, затем вызовите upload () для этого нового файла.

Я могу опубликовать свой код для обоих методов, если это поможет.

Ура, высоко ценится

1 Ответ

0 голосов
/ 10 сентября 2010

У меня была такая проблема, но мы решили ее по-другому, мы решили написать разъем сокета, который будет подключаться к серверу (например, FTP / HTTP) и записать в сокет этот ByteArray, и мы сделали это такжеКуски примерно одинакового размера, и самым большим файлом, который нам пришлось загрузить, был фильм BlueRay размером ~ 150 ГБ.

Так что я надеюсь, что вы получили некоторые интересные идеи из моего сообщения.кусок кода для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...