📄 screenshotupload.mxml
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
verticalAlign="middle"
horizontalAlign="center"
creationComplete="creationCompleteHandler(event);">
<mx:Script>
<![CDATA[
//////////////////////////////////////////////////
//import
import mx.controls.Alert;
//////////////////////////////////////////////////
//static constant variables
private static const MAXIMUM_NUMBER_OF_FILES:uint = 6;
private static const MAXIMUM_FILE_SIZE:uint = 1024 * 25;
//////////////////////////////////////////////////
//private variables
private var urlRequest:URLRequest;
private var fileFilter:FileFilter;
private var fileReferenceList:FileReferenceList;
[Bindable] private var filesToUpload:Array;
//////////////////////////////////////////////////
//application initialization
private function creationCompleteHandler(event:Event):void {
urlRequest = new URLRequest("http://flex.org/showcase_beta/drupal/index.php");
urlRequest.method = "POST";
var data:Object = new Object();
data.uid = "5";
urlRequest.data = data;
fileFilter = new FileFilter("Image Files (*.gif, *.jpeg, *.jpg, *.png)", "*.gif; jpeg; *.jpg; *.png");
fileReferenceList = new FileReferenceList();
fileReferenceList.addEventListener(Event.SELECT, selectHandler);
filesToUpload = new Array();
}
//////////////////////////////////////////////////
//private functions
private function addFiles():void {
fileReferenceList.browse(new Array(fileFilter));
}
private function removeFiles():void {
var selectedItem:Object = dataGrid.selectedItem;
var index:uint = filesToUpload.indexOf(selectedItem);
filesToUpload.splice(index, 1);
dataGrid.dataProvider = filesToUpload;
}
private function uploadFiles():void {
for (var i:uint = 0; i < filesToUpload.length; ++i) {
var fileReference:FileReference = filesToUpload[i];
fileReference.addEventListener(Event.COMPLETE, completeHandler);
fileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
fileReference.upload(urlRequest);
}
Alert.show("Files uploaded successfully.", "File Upload");
clearFiles();
}
private function clearFiles():void {
filesToUpload = new Array();
dataGrid.dataProvider = filesToUpload;
}
//////////////////////////////////////////////////
//handler functions
private function selectHandler(event:Event):void {
var fileReference:FileReference;
var fileReferenceList:FileReferenceList = FileReferenceList(event.target);
var fileList:Array = fileReferenceList.fileList;
if (fileList.length > MAXIMUM_NUMBER_OF_FILES || fileList.length > MAXIMUM_NUMBER_OF_FILES - filesToUpload.length) {
Alert.show("You've selected more than the maximum number of files allowed.", "File Upload");
} else {
var duplicateErrorFileList:Array = new Array();
var sizeErrorFileList:Array = new Array();
for (var i:uint = 0; i < fileList.length; ++i) {
fileReference = FileReference(fileList[i]);
var duplicate:Boolean = false;
for (var j:uint = 0; j < filesToUpload.length; ++j) {
var fileToUpload:FileReference = filesToUpload[j];
if (fileToUpload.name == fileReference.name) {
duplicate = true;
break;
}
}
if (duplicate == false) {
if (fileReference.size > MAXIMUM_FILE_SIZE) {
sizeErrorFileList.push(fileReference);
} else {
filesToUpload.push(fileReference);
}
} else {
duplicateErrorFileList.push(fileReference);
}
}
dataGrid.dataProvider = filesToUpload;
var text:String = new String("");
if (duplicateErrorFileList.length > 0) {
text += "The following files are already marked for upload:\n\n";
for (var k:uint = 0; k < duplicateErrorFileList.length; ++k) {
fileReference = duplicateErrorFileList[k];
text += "鈥
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -