<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private var loader:URLLoader ;
private var file:FileReference;
private var path:String;
private var fileTypes:FileFilter;
private function creationCompleteHandler(event:Event):void {
file = new FileReference();
loader = new URLLoader();
file.addEventListener(Event.SELECT, selectHandler);
file.addEventListener(Event.OPEN, openHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, uploadIoErrorHandler);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteHandler);
fileTypes = new FileFilter("文件类型", "*.*");
}
private function browseHandler(event:Event):void {
pbrUploadProgress.visible = false;
btnUpload.visible = false;
file.browse([fileTypes]);
}
private function selectHandler(event:Event):void {
txtFilename.text = file.name;
btnUpload.visible = true;
}
private function openHandler(event:Event):void {
pbrUploadProgress.visible = true;
pbrUploadProgress.label = "已完成上传文件: %3%%.";
}
private function uploadHandler(event:Event):void {
var url:String = "http://127.0.0.1:8080/test/fileUp.fu";
var request:URLRequest = new URLRequest(url);
request.method = "post";
var variables:URLVariables = new URLVariables();
variables.othername = txtFilename.text;
request.data =variables;
file.upload(request);
}
private function progressHandler(event:ProgressEvent):void {
pbrUploadProgress.setProgress(event.bytesLoaded, event.bytesTotal);
}
private function uploadCompleteHandler(event:DataEvent):void {
try {
pbrUploadProgress.label = "上传文件完成.";
}
catch (error:Error) {
pbrUploadProgress.label = "异常中断.";
Alert.show("异常详细信息: " + error.message,"异常中断.");
}
}
private function uploadIoErrorHandler(event:IOErrorEvent):void {
pbrUploadProgress.label = "IO错误.";
Alert.show("IO Error: " + event.toString());
}
]]>
</mx:Script>
<mx:VBox>
<mx:TextInput id="txtFilename" editable="false" />
<mx:HBox>
<mx:Button id="btnBrowse" label="浏览" click="browseHandler(event)" />
<mx:Button id="btnUpload" label="上传" click="uploadHandler(event)" visible="false" />
</mx:HBox>
<mx:ProgressBar id="pbrUploadProgress" indeterminate="false" mode="manual"
fontWeight="bold" color="red" labelPlacement="bottom" trackHeight="9" visible="false" />
</mx:VBox>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="creationCompleteHandler(event)">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private var loader:URLLoader ;
private var file:FileReference;
private var path:String;
private var fileTypes:FileFilter;
private function creationCompleteHandler(event:Event):void {
file = new FileReference();
loader = new URLLoader();
file.addEventListener(Event.SELECT, selectHandler);
file.addEventListener(Event.OPEN, openHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, uploadIoErrorHandler);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteHandler);
fileTypes = new FileFilter("文件类型", "*.*");
}
private function browseHandler(event:Event):void {
pbrUploadProgress.visible = false;
btnUpload.visible = false;
file.browse([fileTypes]);
}
private function selectHandler(event:Event):void {
txtFilename.text = file.name;
btnUpload.visible = true;
}
private function openHandler(event:Event):void {
pbrUploadProgress.visible = true;
pbrUploadProgress.label = "已完成上传文件: %3%%.";
}
private function uploadHandler(event:Event):void {
var url:String = "http://127.0.0.1:8080/test/fileUp.fu";
var request:URLRequest = new URLRequest(url);
request.method = "post";
var variables:URLVariables = new URLVariables();
variables.othername = txtFilename.text;
request.data =variables;
file.upload(request);
}
private function progressHandler(event:ProgressEvent):void {
pbrUploadProgress.setProgress(event.bytesLoaded, event.bytesTotal);
}
private function uploadCompleteHandler(event:DataEvent):void {
try {
pbrUploadProgress.label = "上传文件完成.";
}
catch (error:Error) {
pbrUploadProgress.label = "异常中断.";
Alert.show("异常详细信息: " + error.message,"异常中断.");
}
}
private function uploadIoErrorHandler(event:IOErrorEvent):void {
pbrUploadProgress.label = "IO错误.";
Alert.show("IO Error: " + event.toString());
}
]]>
</mx:Script>
<mx:VBox>
<mx:TextInput id="txtFilename" editable="false" />
<mx:HBox>
<mx:Button id="btnBrowse" label="浏览" click="browseHandler(event)" />
<mx:Button id="btnUpload" label="上传" click="uploadHandler(event)" visible="false" />
</mx:HBox>
<mx:ProgressBar id="pbrUploadProgress" indeterminate="false" mode="manual"
fontWeight="bold" color="red" labelPlacement="bottom" trackHeight="9" visible="false" />
</mx:VBox>
</mx:Application>