Chương 2 FLEX
2.3. Giao tiếp dữ liệu từ xa
2.3.3. Tải file lên và tải file xuống
Các ứng dụng Flex hỗ trợ tải file lên và tải file xuống thông qua lớp
flash.net.FileReference trong Flash Player. Ta có thể cho phép người dùng tại thời
điểm tải xuống một file cũng có thể chọn và tải lên một hay nhiều file cùng lúc.
2.3.3.1. Tải file xuống
Sử dụng phương thức download() của đối tượng FileReference để tải xuống một
file. Phương thức download() u cầu phải có ít nhất một tham số là đối tượng
URLRequest.
Ví dụ tải xuống file test.txt
var fileReference:FileReference = new FileReference(); fileReference.download(new URLRequest(“test.txt”));
Trước khi phương thức download được gọi, Flash Player mở hộp thoại nhắc người dùng chấp nhận file, sau đó chọn nơi lưu cũng như đặt tên cho file. Tên file thường
được mặc định là tên file tồn tại trên server. Nếu muối chỉnh sửa tên mặc định ta có
thể sử dụng tham số thứ hai của phương thức download().
Phương thức download() có khả năng phát hiện lỗi. Hai lỗi thường gặp là
thoại Save đã được mở. SecurityError xuất hiện khi .swf không được hỗ trợ trong phạm vi yêu cầu.
2.3.3.2. Tải file lên
Phương thức FileReference.browse() cho phép người dùng tìm và chọn một file để tải lên. FileReferenceList.browse() thì cho phép chọn nhiều file cùng lúc. Trong cả hai trường hợp thì hộp thoại Browse đều có 2 nút là Open và Cancle. Khi chọn nút Open thì FileReference hay FileReferenceList sẽ gửi sự kiện Event.SELECT, ngược lại nếu chọn nút Cancle thì sẽ gửi sự kiện Event.CANCLE.
Khi người dùng đã chọn một hay nhiều file (sự kiện đã được gửi) thì ta có thể bắt
đầu gọi phương thức upload()
Ví dụ :
fileReference.upload(new URLRequest(“upload.php”));
Nếu sử dụng đối tượng FileReferenceList ta phải gọi phương thức upload() cho từng thể hiện lưu trong đối tượng fileList :
var request:URLRequest = new URLRequest(“upload.php”); for( var i:int = 0; i< fileReferenceList.fileList.lenght; i++) { fileReferenceList.fileList[i].upload(request);
}