В настоящее время я создаю загрузчик файлов AIR, предназначенный для работы с несколькими и очень большими файлами. Я поиграл с разными методами разбивки файла на куски (100 МБ) и постепенной загрузки каждого, чтобы я мог защитить себя от неудачной загрузки / отключения и т. Д.
Мне удалось разбить файл на более мелкие файлы, которые я затем записываю в область с нулями на диске, однако я обнаружил, что фактический процесс записи файла довольно медленный и отнимает много вычислительной мощности. Мой интерфейс в основном останавливается при написании. не говоря уже о том, что я фактически удваиваю локальное дисковое пространство каждого файла.
Другой метод, который я использовал, состоял в том, чтобы прочитать исходный файл кусками по 100 Мб и сохранить эти данные в массиве byteArray, который затем я могу загрузить как данные POST, используя класс URLLoader. Проблема в том, что таким образом я не могу отслеживать ход загрузки, потому что ProgressEvent.PROGRESS не работает должным образом для запросов POST.
Что я хотел бы знать, так это то, можно ли прочитать файл в моих блоках по 100 МБ и выгрузить эти данные, не создавая новый файл, но по-прежнему используя метод FileReference.upload (), чтобы прослушать все доступные события, которые метод дает мне. То есть. создайте File (), который состоит из байтов 0 - 100 МБ исходного файла, затем вызовите upload () для этого нового файла.
Я могу опубликовать свой код для обоих методов, если это поможет.
Ура, высоко ценится