А без докачки работает?
- Попробуйте закачать текстовый файл. Если всё нормально, ищите ошибку в создании изображения.
- Вообще говоря, читать из потока лучше определёнными порциями. Пусть, например, константа CHUNK задаёт минимальное количество байт, читаемых из потока, то есть порцию. Тогда:

Код AS3:
/**
* Перед началом закачки.
*/
var data:ByteArray = new ByteArray(); //скачанные данные
var totalRead:uint = 0; //всего скачано
/**
* Перед началом докачки.
*/
totalRead = data.length;
/**
* В обработчике PROGRESS.
* stream – ваш экземпляр URLStream.
*/
var toRead:uint = stream.bytesAvaliable;
if(toRead >= CHUNK){
urlStream.readBytes(data, totalRead, toRead);
totalRead += toRead;
}
/**
* В обработчике COMPLETE.
* stream – ваш экземпляр URLStream.
*/
var toRead:uint = stream.bytesAvaliable;
if(toRead){
urlStream.readBytes(data, totalRead, toRead);
totalRead += toRead;
}
Добавлено через 5 минут
Кстати, у вас может не получаться по следующей причине: ваш сервак просто не поддерживает докачку. Хоть это и маловероятно, но такой вариант всё-же имеется. Дело в том, что в этом случае ваш try..catch не сработает. Все пройдёт без ошибок, но данные начнут отдаваться с начала файла, как если бы вы не отправляли заголовка Range.
Узнать, поддерживает ли сервак докачку, можно только просмотрев ответные заголовки (в них должен присутствовать заголовок Accept-Ranges). К сожалению, из-под FP это сделать нельзя, только из-под AIR.
Поэтому, попробуйте с текстовым файлом и посмотрите, что получится. А также советую посмотреть диалог флешки с серваком тем же FireBug-ом. Заодно увидите, отправляет ли сервак Accept-Ranges, а также отправляет ли флешка Range.
Добавлено через 24 минуты
Вот ещё что. Подпишитесь-ка на событие
HTTPStatusEvent.HTTP_STATUS вашего экземпляра
URLStream, и в обработчике протрейсите

Код AS3:
trace('Status code: ' + (event as HTTPStatusEvent).status);
Чему он равен?
Если после запроса, содержащего Range, статус-код равен 200, то сервак докачку не поддерживает. Если же он равен 206, что указывает на выдачу частичного содержимого, то всё нормально и проблема, скорее всего, в чём-то другом.
Добавлено через 32 минуты
Цитата:
Сообщение от iflamberg
Другого способа (без программирования на сервере) - нет.
|
Вы не правы. Как тогда, по-вашему, работают программы типа DownloadMaster или встроенная в Оперу качалка? Они ведь реализуют докачку практически со всех серваков)
Из-под флеш-плеера докачку реализовывать не приходилось, но из-под AIR проблем особых не возникло. К счастью, статус-код можно посмотреть и из флеш-плеера, поэтому тут тоже проблем быть не должно, хоть и будет чуть менее надёжно без анализа ответных заголовков.