У меня есть приложение, которое загружает несколько больших двоичных файлов и сохраняет их на диск. На некоторых машинах он работает нормально, а на некоторых других машинах время от времени загрузка будет продолжаться до 99,9%, а объект URLStream не будет срабатывать. Event.COMPLETEПочему URLStream иногда не срабатывает Event.COMPLETE?
Это почти идентично проблеме, которая появляется здесь:
Why does URLStream complete event get dispatched when the file is not finished loading?
Я попытался с помощью метода «кэш Bust», описанный в одном из ответов, но до сих пор нет костей.
Любая помощь будет оценена по достоинству.
Вот некоторые примеры кода, чтобы проиллюстрировать то, что я пытаюсь сделать:
var contentURL:String = "http://some-large-binary-file-in-amazon-s3.tar";
var stream:URLStream = new URLStream();
stream.addEventListener(Event.COMPLETE, function(e:Event):void{
//This should fire when the file is done downloading
//On some systems this fails to fire once in a while
//On other systems it never fails to fire
});
stream.addEventListener(ProgressEvent.PROGRESS, function(pe:ProgressEvent):void{
//Write the bytes available in the stream and save them to disk
//Note that a download will reach 100% complete in terms of total progress but the 'complete' event might still not fire.
});
var urlRequest:URLRequest = new URLRequest(contentURL);
//Here we might add some headers to the URL Request for resuming a file
//but they don't matter, the 'Event.COMPLETE' will fail to fire with our without
//these headers
addCustomHeaders(urlRequest);
stream.load(urlRequest);
где код? – BotMaster
Я обновил сообщение, чтобы содержать образец кода. – Phil
** «В некоторых системах это не срабатывает раз в то время ... На других это никогда не терпит неудачу ...» * Я бы начал с проверки этих отказоустойчивых систем. Это проблема с подключением к Интернету (т. Е. Есть ли у них что-то, отсекающее большие загрузки? И т. Д.). Похоже на проблему с оборудованием/сетью, а не с чем-либо неправильным с вашим кодом (иначе он никогда не будет работать для всех систем, верно?). –