Я нашел несколько сценариев онлайн и объединил их в этом. Я хочу загрузить файлы из Интернета на локальный жесткий диск. Любая идея, что я делаю неправильно?AS3: URLStream сохраняет файлы на рабочий стол?
var fs:FileStream;
var stream:URLStream;
var _output:Boolean = false;
init();
startDownload('http://www.teachenglishinasia.net/files/u2/purple_lotus_flower.jpg');
function init() {
stream = new URLStream();
stream.addEventListener(ProgressEvent.PROGRESS, _dlProgressHandler);
stream.addEventListener(Event.COMPLETE, _dlCompleteHandler);
stream.addEventListener(Event.OPEN, _dlStartHandler);
fs = new FileStream();
fs.addEventListener(OutputProgressEvent.OUTPUT_PROGRESS, _writeProgressHandler)
}
function startDownload(url:String):void {
//fs.openAsync(lfile, FileMode.APPEND);
_output = false;
stream.load(new URLRequest(url));
}
function downloadComplete():void {
var fileData:ByteArray = new ByteArray();
stream.readBytes(fileData,0,stream.bytesAvailable);
fs.writeBytes(fileData,0,fileData.length);
fs.close();
}
function writeToDisk():void {
_output = false;
var fileData:ByteArray = new ByteArray();
stream.readBytes(fileData,0,stream.bytesAvailable);
fs.writeBytes(fileData,0,fileData.length);
}
function _dlProgressHandler(evt:ProgressEvent):void {
if(_output){
writeToDisk();
}
}
function _dlCompleteHandler(evt:Event):void {
downloadComplete();
}
function _dlStartHandler(evt:Event):void {
_output = true;
}
function _writeProgressHandler(evt:OutputProgressEvent):void{
_output = true;
}
Flash продолжает сообщать мне об ошибке: Ошибка # 2029: этот объект URLStream не имеет открытого потока. Однако подключение к веб-странице не работает.
Любые идеи? Благодарим за помощь!
@ SébastienNussbaumer Вы должны были оставить комментарий, чтобы Pascal знать об этом –
Привете, кто-то просто попытались изменить ответ о «исправленной ошибке: waitingForDataToWrite всегда были ложными, событие прогресса не будет послано, и загруженный файл будет полностью в памяти ». Но это, вероятно, было отвергнуто (не мной). Не стесняйтесь присылать мне обновленный код, поэтому я могу изменить себя (и заверить автора) pascal.dalfarra [at] gmail.com – Pascal
Вы имеете в виду [этот] (http://stackoverflow.com/review/spected-edits/2662320)? Это было принято, хотя для меня это звучало достаточно серьезно, чтобы предпочесть дискуссию с вами, а не прямо одобрять ее. Если это результат, к сожалению, отклоненные предложения почти невозможно найти, кроме как в очереди просмотра. Вот еще один из них: @ Sébastien, который был отклонен до: http://stackoverflow.com/review/spected-edits/2662084 –