Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
// Делаем все не во флексе, а во флэше, на сцене у нас лежат 2 компоненты:
// txtStatus - это Label, хотя можно было бы использовать и обычное текстовое поле
// btnBrowse - это Button, хотя можно было использовать вообще любой InteractiveObject
// у кнопки слушаем клик по ней
btnBrowse.addEventListener( MouseEvent.CLICK, onBrowse );
function onBrowse( e:MouseEvent ):void {
// При клике по кнопке запускаем пользовательский выбор файла через системное окно
var fr:FileReference = new FileReference();
fr.addEventListener( Event.SELECT, onSelect );
fr.browse( [new FileFilter( "Image files", "*.jpg;*.gif" )] );
}
function onSelect( e:Event ):void {
var fr:FileReference = FileReference( e.target );
// После того, как пользователь выбрал файл, мы объекту FileReference вешаем обработчики событий на
// 2 события - прогресс закачки (показываем сколько загрузилось) и окончание закачки (сообщаем об этом)
fr.addEventListener( ProgressEvent.PROGRESS, function( e:ProgressEvent ):void {
txtStatus.text = e.bytesLoaded + "/" + e.bytesTotal;
} );
fr.addEventListener( Event.COMPLETE, function( e:Event ):void {
txtStatus.text = "Success!";
} );
fr.upload( new URLRequest( "http://www.mysite.ru/upload.php" ) );
}
Silverlight File Upload Progress